stdClass对象数组在另一个数组中

时间:2011-05-23 15:04:58

标签: php arrays json foreach stdclass

我正在尝试从下面的$ array1获取信息。

我通过以下方式获得场地的名称和位置地址没有问题:

$array2 = array();
$array3 = array();
foreach($array1 as $item){

                 $array2[] = $item->venue->name;
                 $array3[] = $item->venue->location->address;
}

但现在我需要获取照片网址,而我不知道该怎么做。

万分感谢!

$ ARRAY1:

Array
(
    [0] => stdClass Object
        (
               [venue] => stdClass Object

                (

                    [name] => a name
                    [location] => stdClass Object
                        (
                            [address] => main street

                        )


                )

            [photos] => stdClass Object
                (
                    [count] => 1
                    [items] => Array
                        (
                            [0] => stdClass Object
                                (

                                    [url] => http://folder/photo1.jpg

                    .
                    .
                    )))
.
.

3 个答案:

答案 0 :(得分:2)

$array1[0]->photos->items[0]->url

请记住 - 您使用[index]个括号,带有->箭头的对象访问数组。

答案 1 :(得分:1)

未经测试的代码:

$array2 = array();
$array3 = array();
$photos = array();
foreach($array1 as $item){
    $array2[] = $item->venue->name;
    $array3[] = $item->venue->location->address;

    $item_photo_urls = array();
    foreach($item->photos->items as $photo){
        $item_photo_urls[] = $photo->url;
    }

    $photos[] = $item_photo_urls;
}

现在你有第三个名为photos的数组,其中包含所有的照片网址。

答案 2 :(得分:0)

试试这个:

$url = $item->photos->items[0]->url;