찾다

 >  Q&A  >  본문

PHP 배열 요소의 동적 경로 문제

배열에 있는 요소의 경로를 알고 있는 경우 이 요소의 값을 어떻게 얻을 수 있나요?
다음 코드는 오류를 보고합니다. 어떻게 해결합니까? 누구든지 좋은 아이디어가 있나요?

$m = ['a'=>['b'=>['c'=>'@@@@@']]];

$x = 'a.b.c';
$y = str_replace('.','\'][\'',$x);
$y = 'm[\''.$y.'\']';

에코 $$y;

오류가 보고됩니다:

주의: 정의되지 않은 변수: 9행의 /web/root/index.php에 있는 m['a']['b']['c']
世界只因有你世界只因有你2829일 전532

모든 응답(6)나는 대답할 것이다

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 13:11:31

    동적 변수 이름은 변수에만 유효하며 배열 요소에는 유효하지 않습니다. 'm["a"]["b"]["c"]'앞에 $를 추가해도 문자열 전체가 변수로 간주되어 당연히 찾을 수 없습니다.

    루프를 사용해도 됩니다

    으아악

    회신하다
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-16 13:11:31

    ?먼저 인쇄한 echo 뒤의 변수 $y에는 하나가 더 있습니다 $符号,其次如果你想获取@@@@@,直接$m['a']['b']['c']

    회신하다
    0
  • 迷茫

    迷茫2017-05-16 13:11:31

    실제로 작성하신 내용이 맞습니다. 서두르지 말고 코드를 살펴보세요

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-05-16 13:11:31

    개인적으로는 이런 종류의 문제에 직면했을 때 문자열 교체를 사용하는 대신 재귀를 사용하여 처리하는 것을 고려해야 한다고 생각합니다.

    으아아아

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-16 13:11:31

    으아아아

    회신하다
    0
  • 滿天的星座

    滿天的星座2017-05-16 13:11:31

    laravel 프레임워크를 사용하는 경우,

    으아아아

    회신하다
    0
  • 취소회신하다