我有一个关联数组,当我循环数组时,我尝试发出一个输出错误答案的语句。
foreach($search as $a=>$b)
{
foreach($b as $c) {
if($b == 'folder')
{
print_r($b);
$dir = true;
}
}
}
以下代码输出0和'folder'。当$b
等于0时,它不正确,因为$b
应该匹配'文件夹'。
$search
array (size=3)
'status' => string 's_search' (length=8)
'files' =>
array (size=1)
'file' =>
array (size=2)
0 =>
array (size=3)
...
1 =>
array (size=3)
...
'folders' =>
array (size=1)
'folder' =>
array (size=3)
'id' => string '1081483096' (length=10)
'name' => string 'asdf' (length=4)
'match_type' =>
array (size=3)
...
答案 0 :(得分:1)
由于您没有指定您正在做什么,也未指定您期望输出的内容,因此我假设您只对folders
数组的$search
感兴趣。
foreach($search['folders'] as $k => $v) {
if($k === 'folder') {
print_r($v);
$dir = true;
}
}
答案 1 :(得分:0)
此处 $ b 是array
。因此,before loop
您应该检查它是数组还是不,
foreach($search as $a=>$b)
{
if(is_array($b) and !empty($b))
{
foreach($b as $c) {
//your code
}
}
elseif(is_string($b) and $b=='folder')
{
print_r($b);
$dir = true;
}
}
答案 2 :(得分:0)
你不是只想要这个吗?
if (isset($search['folders']['folder'])) {
var_dump($search['folders']['folder']);
$dir = true;
}