我有一个这样的数组($ myArray):
print_r(array_values ($myArray));
result: Array (
[0] =>
[1] => Array (
[id] => 1
[name] => ABC
)
[2] => Array (
[id] => 2
[name] => DEF
)
)
我试图获取每个ID和NAME ..所以我试着这个:
foreach ($myArray as $value) {
foreach($value as $result) {
echo $result;
}
}
我面临两个问题:
This line is: foreach($value as $result) {
有什么想法吗?谢谢你的帮助。
答案 0 :(得分:4)
基本上,触发了错误,因为示例中的数组(特别是索引为零)不是在foreach中使用的数组(很可能是空字符串/ null)。
由于其中一个元素不是数组,您可以使用is_array()
检查它是否为数组:
foreach($myArray as $values) {
if(is_array($values)) {
echo $values['id'] . ' ' . $values['name'] . '<br/>';
}
}
或者,你也可以在这种情况下使用array_filter()
,这反过来会删除那个空索引零,这样你就可以使用你拥有的那个循环。你不必检查那个空元素。
$myArray = array_filter($myArray);
foreach ($myArray as $value) {
foreach($value as $result) {
echo $result;
}
}
答案 1 :(得分:0)
试试这个,
foreach (array_slice($myArray ,1) as $value) {
foreach($value as $result) {
echo $result;
}
}
第一个位置为空,因此省略第一个位置