웹사이트를 개발하는 과정에서 데이터 작업을 용이하게 하기 위해 문자열을 객체 배열로 변환해야 하는 경우가 종종 있습니다. PHP에서는 이 기능을 수행하는 방법이 많이 있으며 이 기사에서는 그 중 하나를 소개합니다.
1. json_decode 함수 사용
PHP는 JSON 형식 문자열을 객체나 배열로 변환할 수 있는 json_decode 함수를 제공합니다. 다음은 간단한 예입니다.
<?php $str = '{"name": "Tom", "age": 18}'; $obj = json_decode($str); print_r($obj); ?>
출력은 다음과 같습니다.
stdClass Object ( [name] => Tom [age] => 18 )
보시다시피 json_decode 함수는 JSON 문자열을 stdClass라는 개체로 변환합니다.
배열로 변환하려면 아래와 같이 두 번째 매개변수 true를 함수에 추가하면 됩니다.
<?php $str = '{"name": "Tom", "age": 18}'; $arr = json_decode($str, true); print_r($arr); ?>
출력 결과는 다음과 같습니다.
Array ( [name] => Tom [age] => 18 )
보시다시피 json_decode 함수는 JSON 문자열을 변환합니다. 연관 배열로.
2. 문자열을 한 줄씩 분할하여 배열로 변환합니다
문자열이 JSON 형식이 아닌 경우 먼저 한 줄씩 분할한 후 한 줄씩 처리할 수 있습니다. 다음은 간단한 예입니다.
<?php $str = "Tom,18\nJerry,22\n"; $arr = explode("\n", $str); foreach($arr as $item) { $tmp = explode(",", $item); $result[] = array( "name" => $tmp[0], "age" => $tmp[1] ); } print_r($result); ?>
출력 결과는 다음과 같습니다.
Array ( [0] => Array ( [name] => Tom [age] => 18 ) [1] => Array ( [name] => Jerry [age] => 22 ) )
문자열을 한 줄로 나눈 후 한 줄씩 처리하여 여러 개체를 포함하는 배열로 변환하는 것을 볼 수 있습니다.
3. 정규식 사용
문자열 형식이 더 복잡하거나 문자열에 대해 더 복잡한 처리를 수행해야 하는 경우 정규식을 사용할 수 있습니다. 다음은 간단한 예입니다.
<?php $str = "name=Tom&age=18&gender=male"; preg_match_all("/(\w+)=([^&]+)/", $str, $matches); foreach($matches[1] as $key => $value) { $result[$value] = $matches[2][$key]; } print_r($result); ?>
출력 결과는 다음과 같습니다.
Array ( [name] => Tom [age] => 18 [gender] => male )
보시다시피 쿼리 문자열은 정규식을 사용하여 연관 배열로 변환됩니다.
위는 문자열을 객체 배열로 변환하는 세 가지 방법입니다. 독자는 실제 상황에 따라 적절한 방법을 선택할 수 있습니다.
위 내용은 PHP 문자열을 객체 배열로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!