繁体   English   中英

在PHP中打印嵌套的关联数组

[英]Printing nested associative array in PHP

我正在使用此代码$json_output = (json_decode($json, true)); 从JSON转换为PHP中的关联数组。

生成的数组对我来说太复杂了,我只需要打印一些键和值,但是它们是嵌套的,到目前为止,我还无法做到这一点,我为打印而遵循的示例对此太基础了。

这是我的JSON的一部分:

{
"project": {
    "company": "Company Name SA de CV",
    "name": "Project Name",
    "files": [
        {
            "project-id": "666666",
            "filenameOnDisk": "HH-ORG-CMD-GUI-File.docx",
            "uploaded-date": "2018-01-29T21:20:56Z",
            "private": "0",
            "version-id": "3939061",
            "status": "active",
            "tags": [
                {
                    "name": "OPD",
                    "id": "25047",
                    "color": "#9e6957"
                }
            ],
            "id": "3796128",
            "last-changed-on": "2018-01-29T21:21:46Z",
            "versions": [],
            "uploaded-by-user-first-name": "Someone",
            "uploaded-by-user-last-name": "Anything",
            "name": "HH-ORG-CMD-GUI-GUIA_RAPIDA_PARA_CREAR_PROCESOS",
            "size": "262747",
            "category-name": "Instructivos"
        },
        {
            "project-id": "666",
            etc...,
        },

解析后的样子 这个

我如何打印(说)FilesArray的filenameOnDisk和id键。

我不知道如何到达该嵌套数组。

echo $json_output['project']['files'][0]['project-id'];
echo $json_output['project']['files'][0]['filenameOnDisk'];
echo $json_output['project']['files'][0]['version-id'];

或者,您可以使用所需的值数组(只要它们都在“文件”数组中)将其放入foreach循环中。 例如。

$wantedValues = array("project-id","filenameOnDisk","version-id"); 

foreach ($wantedValues as $value) { 
  echo $json_output['project']['files'][0][$value];
}

我只需要在@SeeSamRun提供的代码上添加几行,即可获得完整的“文件”数组。

$filesArray = $json_output['project']['files'];
$filesSize = count($filesArray);
$wantedValues = array("project-id","filenameOnDisk","version-id"); 

for ($i=0; $i < $filesSize; $i++) { 
foreach ($wantedValues as $value) {
echo $json_output['project']['files'][$i][$value];
      }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM