【问题标题】:How can I access to a nested objects如何访问嵌套对象
【发布时间】:2016-04-18 08:25:47
【问题描述】:

在数据库中:

{"49530fe2e872288d92042b3059f31566":{"filename":"49530fe2e872288d92042b3059f31566.jpg"},"4b7dc54328383c294ceb884e9691838c":{"filename":"4b7dc54328383c294ceb884e9691838c.jpg"}}

使用打印后:

Array (
    [49530fe2e872288d92042b3059f31566] => Array (
        [filename] => 49530fe2e872288d92042b3059f31566.jpg
    )
    [4b7dc54328383c294ceb884e9691838c] => Array (
        [filename] => 4b7dc54328383c294ceb884e9691838c.jpg
    )
)

如何访问filename

【问题讨论】:

  • 你试过吗?

标签: php arrays json object


【解决方案1】:

使用foreach循环遍历数组得到filename

<?php
$j = '{"49530fe2e872288d92042b3059f31566":{"filename":"49530fe2e872288d92042b3059f31566.jpg"},"4b7dc54328383c294ceb884e9691838c":{"filename":"4b7dc54328383c294ceb884e9691838c.jpg"}}';
$a = json_decode($j, TRUE);
if (! empty($a)) {
    foreach ($a as $e) {
        echo '<pre>';print_r($e['filename']);echo '</pre>';
    }
}
?>

【讨论】:

    【解决方案2】:

    如果您不知道数组的键,请使用 foreach 循环。

    $arr = array (
        '49530fe2e872288d92042b3059f31566' => array (
            'filename' => '49530fe2e872288d92042b3059f31566.jpg'
        ),
        '4b7dc54328383c294ceb884e9691838c' => array (
            'filename' => '4b7dc54328383c294ceb884e9691838c.jpg'
        )
    ); //To obtain this array from json , do **$arr = json_decode($json, true);**
    foreach($arr as $val){
        $filename  = $val['filename']; //There you go
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-13
      • 2022-11-09
      • 2012-11-12
      相关资源
      最近更新 更多