我在array multidimensional,print_r数组中提取值有问题:
Array
(
[0] => Array
(
[0] => Array
(
[referent] => vespucci
)
[1] => Array
(
[referent] => colombo
)
)
[1] => eb38f736ef826180218c8c0c804f7bebe6d995c1
)
我想提取“引用”值但是如果我得到嵌套foreach的这个错误:
Warning: Invalid argument supplied for foreach() in
完全符合第二个foreach:
foreach($posts as $post)
{
foreach($post as $po)
{
$change[] = $po;
}
}
我在哪里做错了?
答案 0 :(得分:1)
当变量到达$post[1]
时,它不是数组。
所以它应该在第一个上正常工作,但第二个失败是因为你不能foreach
进入不是数组的东西=。
您是否必须迭代数组,或者您可以直接获取值,因为您知道它在哪里?
答案 1 :(得分:0)
这是因为数组的第二个元素不是数组; 你可以这样做:
foreach($posts[0] as $post)
$change[] = $post;
如果你只想要你可以使用的参考值:
foreach($posts[0] as $post)
$change[] = $post['referent'];
这是一般性的:
foreach($posts as $post){
if( is_array($post)){
foreach($post as $po){
if(isset($po['referent']))
$change[] = $po['referent'];
}
}
}