질문:
"와 같은 도트 구문 문자열을 어떻게 사용할 수 있나요? this.that.other"를 다차원 배열로 효율적으로 변환할 수 있습니다. PHP?
답변:
매우 효과적인 솔루션은 아래와 같은 재귀 함수를 활용하는 것입니다.
function assignArrayByPath(&$arr, $path, $value, $separator='.') { $keys = explode($separator, $path); foreach ($keys as $key) { $arr = &$arr[$key]; } $arr = $value; }
이 함수는 반복적으로 순회합니다. '.'를 사용하는 배열 구분 기호로 원하는 속성에 도달하고 해당 값을 설정할 때까지 도중에 누락된 키를 생성합니다.
예를 들어 다음 샘플 문자열을 사용하면 "s1.t1.column.1 = size:33 %", 함수는 다음과 같은 배열 구조를 생성합니다:
$source = []; assignArrayByPath($source, 's1.t1.column.1', 'size:33%'); print_r($source); // Outputs: ['s1' => ['t1' => ['column' => ['1' => 'size:33%']]]]
위 내용은 PHP에서 도트 구문 문자열을 다차원 배열로 효율적으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!