문자열 경로를 사용하여 중첩 배열 데이터 설정
이 사용 사례에서 문자열 입력은 중첩 배열 값을 설정하는 것을 목표로 합니다. 예:
"cars.honda.civic = On"
이 문자열의 결과는 다음과 같습니다.
$data'cars'['civic'] = 'On' ;
입력을 토큰화하는 것은 간단하지만:
$token = 폭발("=",$input);
$value = 트림($token[1]);
$path = 트림($token[0]);
$exploded_path = 폭발(". ",$path);
과제와 같은 위험한 기술에 의존하지 않고 어레이를 설정하는 것이 과제입니다. eval.
해결책
해결책에는 참조 연산자(&)를 활용하여 연속적인 기존 배열을 얻는 것이 포함됩니다.
$temp = & $data;
foreach($는 $key로 폭발됨) {
$temp = & $temp[$key];
}
$temp = $value;
unset($temp);
이 방법을 사용하면 각 레벨을 하드 코딩하지 않고도 중첩된 배열을 탐색할 수 있습니다. .
위 내용은 PHP에서 문자열 경로를 사용하여 중첩 배열 값을 안전하게 설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!