我有一个类似他们的数组我想像这样访问这个子类别数组
foreach($data as $parent_category){
$ndata=$parent_category['subCategory'];
foreach ($ndata as $subCategory){
}
}
$ data是我的主要数组 print_r($ data)给出这个输出
当我访问此数组时出现错误未定义索引:subCategory
请帮帮我......
Array ( [1] => Array ( [name] => Indian Culture [subCategory] => Array ( [0] => Array ( [name] => Indain Culture-1 [articleId] => 10 ) [1] => Array ( [name] => culture -1 [articleId] => 22 ) ) ) [5] => Array ( [name] => ABC CULTURE )
)
答案 0 :(得分:4)
如你所见,这里:
[5] => Array
(
[name] => ABC CULTURE
)
您的数组不包含索引为“subCategory”的元素。因此,只需通过调用:
检查索引是否存在...
if (isset($parent_category['subCategory'])) {
...
答案 1 :(得分:0)
数组键5没有子类别索引。
数组中的第一个条目没问题。
您可以使用array_key_exists函数检查subCategory是否存在。
答案 2 :(得分:0)
5
的项目不包含subCategory
密钥。要避免警告,请尝试:
foreach($data as $parent_category){
if (isset($parent_category['subCategory'])) {
$ndata = $parent_category['subCategory'];
foreach ($ndata as $subCategory){
}
}
}
答案 3 :(得分:0)
修改了下面的代码,因此对于那些没有子类别的情况,你不会获得未定义的索引。
foreach($data as $parent_category){
$ndata=isset($parent_category['subCategory'])?$parent_category['subCategory']:'';
if(!empty($ndata)){
foreach ($ndata as $subCategory){
}
}
}