假如我知道数组中某一个元素的路径,我怎么取到这个元素的值?
下面这段代码报错,该怎么解决?大家有没有好的办法?
$m = ['a'=>['b'=>['c'=>'@@@@@']]];
$x = 'a.b.c';
$y = str_replace('.','\'][\'',$x);
$y = 'm[\''.$y.'\']';
echo $$y;
会报错:
Notice: Undefined variable: m['a']['b']['c'] in /web/root/index.php on line 9
동적 변수 이름은 변수에만 유효하며 배열 요소에는 유효하지 않습니다.
'm["a"]["b"]["c"]'
앞에 $를 추가해도 문자열 전체가 변수로 간주되어 당연히 찾을 수 없습니다.루프를 사용해도 됩니다
으아악?먼저 인쇄한 echo 뒤의 변수 $y에는 하나가 더 있습니다
$
符号,其次如果你想获取@@@@@
,直接$m['a']['b']['c']
실제로 작성하신 내용이 맞습니다. 서두르지 말고 코드를 살펴보세요
개인적으로는 이런 종류의 문제에 직면했을 때 문자열 교체를 사용하는 대신 재귀를 사용하여 처리하는 것을 고려해야 한다고 생각합니다.
으아아아으아아아
laravel 프레임워크를 사용하는 경우,
으아아아