为什么我的foreach循环不起作用?

时间:2012-12-09 07:32:10

标签: php arrays multidimensional-array

我的foreach循环没有显示与它们所属的键相匹配的值。我循环遍历这个foreach循环以检索我的Twitter粉丝的名称和图像,并且它没有显示值,我很漂亮确保键名是正确的。因为当我只使用$ value变量时,它会同时回显名称和图像链接但我想抓住图片链接,把它以img src html格式显示图片..下面是我的代码。

 for ($i=0; $i <= count($array); $i++) {
     if (is_array($array[$i])) {
         foreach($array[$i] as $key => $value) {
             if ($key =='name' || $key =='profile_image_url') { 
                 echo "<b>". $key["name"]."</b><br />";
                 echo "<img src='".$key['profile_image_url']."' width='100' height='100'/>";
             } else {
                 unset($key);
             }
         }

      }
 }

2 个答案:

答案 0 :(得分:1)

你必须打印

$value

而不是

$key['name']

因为你说:

if($key =='name' || $key =='profile_image_url') 

然后逻辑

 $key["name"] 

不存在。

$ key,在这种情况下是'name'或'profile_image_url'。这是一个srting,而不是一个阵列。

你需要这样做:

for ($i=0; $i <= count($array); $i++)
                      {



                       if(is_array($array[$i]))
                      {
                         foreach($array[$i] as $key => $value) {

                        if ($key =='name' || $key =='profile_image_url') 
                               { 
                                 echo "<b>". $value."</b><br />";
                              //echo "<img src='".$key['profile_image_url']."' width='100' height='100'/>";


                                   }
                         else {



                              unset($key);



                                 }
                        }

               }
        }

答案 1 :(得分:0)

您使用

$key["name"]

显示项目。不应该是$value