질문:
PHP stdClass 객체를 배열로 변환해야 합니다. . 그러나 (배열) 캐스팅, json_decode(true) 및 json_decode()를 사용하려고 시도하면 빈 배열이 생성되었습니다. 이 변환을 효과적으로 수행하려면 어떻게 해야 합니까?
답변:
성능이 약간 저하되는 경우 JSON을 활용할 수 있습니다. 간결한 방식으로 이 변환을 수행하는 방법:
$array = json_decode(json_encode($booking), true);
이 방법은 먼저 객체를 인코딩합니다. JSON 문자열로 변환한 다음 다시 배열로 디코딩합니다.
$array = (array) json_decode(json_encode($booking));
이 접근 방식은 속성 이름을 유지하지 않고 인덱스 배열을 반환합니다.
$array = json_decode(json_encode($booking), true);
두 번째 인수로 true를 전달하여 json_decode를 사용하면 속성 이름을 유지하면서 객체를 연관 배열로 변환할 수 있습니다.
성능이 중요한 경우 사용자 정의 재귀 함수를 구현하여 객체를 다음으로 변환할 수 있습니다. 배열:
function object_to_array($object) { if (is_object($object)) { $object = get_object_vars($object); } if (is_array($object)) { return array_map(__FUNCTION__, $object); } else { return $object; } } $array = object_to_array($booking);
위 내용은 PHP stdClass 객체를 배열로 효율적으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!