PHP에서 json_decode 함수는 JSON 문자열을 PHP의 개체 또는 배열로 구문 분석할 수 있는 반면, json_encode 함수는 PHP 개체 또는 배열을 JSON 문자열로 변환할 수 있습니다. 하지만 때로는 JSON 객체를 문자열 배열 객체로 변환해야 할 때도 있습니다. 어떻게 해야 할까요?
JSON 문자열이 다음과 같다고 가정해 보겠습니다.
{ "name": "Tom", "age": 18, "hobbies": ["reading", "running", "swimming"] }
다음 PHP 코드를 사용하여 이를 문자열 배열 객체로 변환할 수 있습니다.
$json = '{"name":"Tom","age":18,"hobbies":["reading","running","swimming"]}'; $data = json_decode($json, true); $keys = array_keys($data); $values = array_values($data); $str_arr = []; for ($i = 0; $i < count($keys); $i++) { if (is_array($values[$i])) { $str_arr[$keys[$i]] = json_encode($values[$i]); } else { $str_arr[$keys[$i]] = (string) $values[$i]; } } var_dump($str_arr);
먼저 JSON 문자열을 json_decode 함수에 전달하고 두 번째로 이 매개변수를 true로 설정하는 것은 의미합니다. 구문 분석된 JSON을 연관 배열로 변환합니다.
다음으로 array_keys 함수를 사용하여 연관 배열의 키 이름을 가져오고, array_values 함수를 사용하여 연관 배열의 값을 가져옵니다.
그런 다음 for 루프를 통해 모든 키 이름과 값을 반복하고 값이 배열인지 확인합니다. 값이 배열이면 json_encode 함수를 사용하여 JSON 문자열로 변환하고, 배열이 아닌 경우 캐스트를 사용하여 문자열로 변환합니다.
마지막으로 키 이름을 키로, 문자열을 값으로 사용하여 새로운 연관 배열을 만듭니다. var_dump 함수를 사용하여 결과를 출력하면 다음과 같은 출력을 얻을 수 있습니다.
array(3) { ["name"]=> string(3) "Tom" ["age"]=> string(2) "18" ["hobbies"]=> string(28) "["reading","running","swimming"]" }
보시다시피 JSON 개체를 문자열 배열 개체로 성공적으로 변환했습니다. 그중 핵심 단계는 json_encode 함수를 사용하여 배열을 JSON 문자열로 변환하는 것입니다.
위 내용은 PHP에서 json 객체를 문자열 배열 객체로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!