나는 모두에게 공유하는 데 문제가 있습니다. 문제는 문자열 변수에 저장된 이름을 가진 복잡한 객체의 값을 추출하고 싶습니다. 아시다시피문자열에서 객체 값 얻기
는 다음을 수행 할 수 있습니다 : 당신이해야 할 때
$foo = 'Hello World';
$var = 'foo';
echo var_dump($$var); // Output: string(11) "Hello World"
문제는 온다 : 파서가이 작업을 수행 할 수없는 이유
$data = new stdClass();
$data->param["foo"]["bar"] = 'Hello World';
$var = 'data->param["foo"]["bar"]';
echo var_dump($$var); // Output: NULL
나는 상상할 수있다. 내가 생각할 수있는 유일한 해결 방법은 $ var를 작은 덩어리 ('->', '[', ']', ...)로 나누고 단계별로 평가하는 것입니다.
누구보다 세련된 솔루션을 알고 있습니까?
덕분에 많은
나는 그런 식으로 요소를 사용할 수 있다고 생각하지 않습니다. "그런 식으로 ... – Hannes
"가변 변수 es "는 가변 변수 이름을 가지고 있습니다. 변수 표현식이 아닙니다. 죄송합니다. 더 좋은 해결 방법은 없습니다. 하지만 어쨌든 유스 케이스에 대해 자세히 설명해 주시겠습니까? – mario