现在我有一个数组是这样子的,我要读取到最里层数组的值,请问各位有没有好的方法介绍一下
array (
  'photo' => 
  array (
    0 => 
    array (
      'photo' => '1/2_1318407841.jpg',
      'photo_narrate' => '图片说明1',
      'photo_attribute' => '1',
    )
  )
)

解决方案 »

  1.   

    如果用foreach一层一层遍历,好像效率会低,有没有更好些的方法呢
      

  2.   

    哦,,我现在接确的数组很少见到3维。我只明白,while(list)可以循环出来,并且还可以得到键值
      

  3.   

    不太知道楼主要干嘛,如果是$arr=array (
      'photo' => 
      array (
      0 => 
      array (
      'photo' => '1/2_1318407841.jpg',
      'photo_narrate' => '图片说明1',
      'photo_attribute' => '1',
      )
      )
    )
    那就直接$arr['photo']去foreach就好了然后再foreach内层
      

  4.   

    我用试过用这种方法,但是print_r($arr['photo'])打印出来的不是数组,是一个‘a’
      

  5.   

    可以了,原来的数据有错误,多了一个逗号
    array (
      'photo' => 
      array (
        0 => 
        array (
          'photo' => '1/2_1318407841.jpg',
          'photo_narrate' => '图片说明1',
          'photo_attribute' => '1',
        ),
      ),
    )
      

  6.   

    $image = substr($image,0,strrpos($image, "," ,-1)); //去掉最后一个逗号
    $image = substr($image,0,strrpos($image, "," ,-1)); //去掉最后第二个号
    $image = substr($image,0,strrpos($image, "," ,-1)).')))'; //去掉最后第三个逗号刚刚试了一下,print_r($image[0]);打印出来的还是'a'
      

  7.   

    不知道你是不是这个意思$str = "array('photo'=>array(0=>array(1)))";
    eval("\$arr".'='.$str.';');
    var_dump($arr['photo']);不过用eval很有风险就对了
      

  8.   

    楼上的,结果是对的 eval有什么风险呢