无法通过索引访问PHP数组中的Value

时间:2018-09-29 11:59:36

标签: php laravel

我正在尝试访问关联数组的元素,但是它给出了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"
]

enter image description here

调试映像 enter image description here

2 个答案:

答案 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;
        }