php多维数组获取值

时间:2014-01-29 18:33:35

标签: php arrays multidimensional-array

我对这个问题感到很疯狂如何做一个反复返回slug值的foreach。

这是我的数组:[{"id":1,"catid":"digital-art","scategory":"3-Dimensional Art","slug":"3-dimensional-art","created_at":"2014-01-29 12:17:21","updated_at":"0000-00-00 00:00:00"}]

print_r返回:

Array
(
    [0] => stdClass Object
        (
            [id] => 1
            [catid] => digital-art
            [scategory] => 3-Dimensional Art
            [slug] => 3-dimensional-art
            [created_at] => 2014-01-29 12:17:21
            [updated_at] => 0000-00-00 00:00:00
        )

)

2 个答案:

答案 0 :(得分:3)

根据您的新评论更新:

根据您的新print_r,您的数据已经采用JSON对象格式,因此无需再次解析(jsode_decode()将失败)。

假设您的对象名称为$data,您可以通过以下方式访问其数据:

foreach ($data as $item) {
            echo $item->{'slug'};
            echo $item->slug;//same thing
}

希望这有帮助!

答案 1 :(得分:2)

这不是一个“数组”,而是一个JSON格式化的String。你我用

将它解析成一个数组
$myArray = json_decode('[{"id":1,"catid":"digital-art","scategory":"3-Dimensional Art","slug":"3-dimensional-art","created_at":"2014-01-29 12:17:21","updated_at":"0000-00-00 00:00:00"}]', true);

最后一个参数指示将其转换为关联数组:

Array
(
    [0] => Array
        (
            [id] => 1
            [catid] => digital-art
            [scategory] => 3-Dimensional Art
            [slug] => 3-dimensional-art
            [created_at] => 2014-01-29 12:17:21
            [updated_at] => 0000-00-00 00:00:00
        )

)

这会迭代

foreach ( $myArray[0] as $key => $value ) { ...