【问题标题】:Using foreach loop through array in an array using php在使用php的数组中使用foreach循环遍历数组
【发布时间】:2013-11-05 05:50:35
【问题描述】:

我对 PHP 还很陌生,一直在循环这个数组...叹息...

http://pastebin.com/Rs6P4e4y

我正在尝试获取作者和导演数组的名称和头像值。

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

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

感谢任何帮助。

【问题讨论】:

    标签: php arrays foreach stdclass


    【解决方案1】:

    您的解决方案已经发布,但我想补充一点:

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

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

    $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 好运! :)

    【讨论】:

      【解决方案2】:

      拥有变量$foo,它是一个对象,您可以使用语法访问属性bar

      $foo->bar
      

      因此,如果您有一个名为 $directors 的数组 od director,您可以在 foreach 中以相同的方式简单地使用它:

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

      【讨论】:

      • 使用变量$key 作为值而不是键有点令人困惑。
      【解决方案3】:

      使用-&gt; 访问对象的属性。

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

      【讨论】:

        【解决方案4】:

        你在寻找这样的野兽吗?您没有写出您想如何处理它们,但希望这对您有所帮助。

        $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

        希望这会有所帮助。

        【讨论】:

          猜你喜欢
          • 2017-03-22
          • 1970-01-01
          • 2013-11-23
          • 1970-01-01
          • 1970-01-01
          • 2013-12-16
          • 2010-10-24
          • 2013-03-26
          相关资源
          最近更新 更多