2012-08-15 117 views
-1

得到正确的数据移出此多维数组,我使用FirePHP,看看我的工作时检索的有问题(?):PHP - 问题访问多维数组

array(
    ['day'] => 'Wed' 
    ['is_used'] => 1 
    [0] => 
    array(
     ['day'] => 
     'Wed' 
     ['title'] => 
     'onsdag denna veckan 2' 
     ['content'] => 
     ['price'] => 
    ) 
    [1] => 
    array(

     ['day'] => 
     'Wed' 
     ['title'] => 
     'onsdagslunchen' 
     ['content'] => 
     ['price'] => 
     123123 
    ) 
) 

我想使用0,1阵列如果这是有道理的...?或者是这个阵列坏了?

当我尝试

foreach ($foo as $bar){ 
    echo $bar 
} 

我得到4分的结果,日,is_used和0,1阵列。

+1

问题是什么?你想使用'0'和'1'项目如何?你有什么问题? – PeeHaa 2012-08-15 08:33:28

+0

是的,我想使用0和1的项目,对不起,如果这是不够清楚, – Philip 2012-08-15 08:34:00

+0

事情是,它可能是多于或少于2项.. – Philip 2012-08-15 08:34:19

回答

2

的代码返回正确的价值观。它返回$foo数组的第一个孩子,分别是:

day 
is_used 
0 
1 

dayis_used都是字符串,但由于01是数组,你需要通过他们循环再次得到他们的价值观:

foreach ($foo as $fooKey=>$bar){ 
    if(is_array($bar)) 
     // cycle through the array 
     foreach ($bar as $key=>$value) 
      // Echo out the string of the array 
      echo "$fooKey $key = $value<br />"; 
     } 
    } else { 
     // Echo out the string 
     echo "$fooKey = $bar<br />"; 
    } 
} 

这应该呼应了以下工作:

day = Wed 
is_used = 1 
0 day = Wed 
0 title = onsdag denna veckan 2 
0 content = 
0 price = 
1 day = Wed 
1 title = onsdagslunchen 
1 content = 
1 price = 123123 
+0

非常感谢,这帮了我很多! :) – Philip 2012-08-15 10:21:06

0

也许这是你想要什么:

foreach ($my_array as $key=>$val) { 
    if (is_numeric($key) { 
     // do something with $val (where $val is an array in the example) 
    } 
}