使用php在数组中使用foreach循环遍历数组

时间:2013-10-26 00:01:10

标签: php arrays foreach stdclass

我对PHP很新,并且一直致力于遍历此数组 ......叹息......

http://pastebin.com/Rs6P4e4y

我正在尝试获取编剧和导演阵列的名称和爆头值。

我一直试图找出与它一起使用的foreach函数,但没有运气。

<?php   foreach ($directors as $key => $value){
            //print_r($value);
        }
?>

感谢任何帮助。

4 个答案:

答案 0 :(得分:2)

你正在寻找一些这样的野兽吗?你没有写下你想要如何处理它们,但希望这对你有帮助。

$directors = array();

foreach( $object->people->directors as $o )
    $directors[] = array( 'name' => $o->name, 'headshot' => $o->images->headshot );

$writers = array();

foreach( $object->people->writers as $o )
    $writers[] = array( 'name' => $o->name, 'headshot' => $o->images->headshot );

var_dump( $directors );
var_dump( $writers );

最后请注意,如果无法保证设置这些成员,则在任何脏工作之前使用isset

希望这有帮助。

答案 1 :(得分:1)

使用->访问对象的属性。

foreach ($directors as $director) {
    echo 'Name: ' . $director->name . "\n";
    echo "Headshot: " . $director->images->headshot . "\n";
}

答案 2 :(得分:1)

您的解决方案已经发布,但我想添加一些内容:

这不是一个数组,它是一个对象。实际上,对象的director属性是一个Array。查找对象是什么以及关联数组是什么!

对象具有属性,数组具有键和值。

$object = new stdClass();
$object->something = 'this is an object property';

$array = new array();
$array['something'] = 'this is an array key named something';

$object->arrayproperty = $array;
echo $object->arrayproperty['something']; //this is an array key named something

学习PHP祝你好运! :)

答案 3 :(得分:0)

拥有作为对象的变量$foo,您可以使用以下语法访问属性bar

$foo->bar

因此,如果你有一个名为$directors的数组od导演,你可以在foreach中以相同的方式使用它:

foreach ($directors as $value){
   echo $value->name." ".$value->images->headshot;
}