我正在尝试访问关联数组的元素,但是它给出了undefined index的错误。我已经确保索引正确并且代码写得很好,但是它本身在索引“ Genre”的末尾添加了字母“ A”。我不知道它来自哪里。下面是代码,错误和转储:
if($Row){
$Data = unserialize($Row->Data);
$Last = array();
unset($Path[0]);
foreach($Path as $Key=>$name){
echo $name;
$Last = $Data[$name];
}
return $Last;
}
我得到的错误
ErrorException(E_ERROR) 未定义索引:GenreA(查看:C:\ xampp \ htdocs ......)
dd($Data,$Path);
送礼:
array:7 [▼
"Regions" => array:10 [▶]
"Country" => array:241 [▶]
"Languages" => array:106 [▶]
"Category" => array:2 [▶]
"SubCategory" => array:2 [▶]
"Genre" => array:2 [▶]
"SubGenre" => array:2 [▶]
]
array:1 [▼
1 => "Genre"
]
答案 0 :(得分:1)
我认为不需要每个循环就这样写,希望它能工作
{{1}}
答案 1 :(得分:0)
我使用For循环而不是foreach解决了问题,但如果我使用foreach以下代码运行得很好,仍然无法找出不可见的'A'。
if($Row){
$Data = unserialize($Row->Data);
$Last = array();
unset($Path[0]);
for($i=1;$i<sizeof($Path);$i++)
{
$Last=$Data[$Path[$i]];
}
/* foreach($Path as $Key=>$name){
$Last = $Data[$name];
}*/
return $Last;
}