일반적으로 PHP에서는 객체를 배열로 처리하는 데 약간의 노력이 필요합니다.
그런데 오늘은 이 문제를 해결하기 위한 너무나 쉬운 블랙 테크닉을 알려드리겠습니다.
<?php /** * Created by PhpStorm. * User: zrj * Date: 17-10-20 * Time: 下午8:08 */ declare(strict_types=1);//开启强类型模式 class Person { public $name; public $age; public function __construct(string $name,int $age) { $this->name = $name; $this->age = $age; } } $jack = new Person('Jack', 18); echo print_r($jack, true); echo "<p>"; //对象转数组 $jack = json_decode(json_encode($jack), true); echo print_r($jack, true);
결과를 살펴보겠습니다.
Person Object ( [name] => Jack [age] => 18 ) Array ( [name] => Jack [age] => 18 )
아이디어 분석:
먼저 개체를 json 문자열로 json_encode합니다.
변환된 json 문자열에 대해 json_decode 처리를 수행합니다.
json_decode(json_encode($obj),true);
요약:
장점: 간단하고 빠릅니다.
단점: 메모리를 두 배로 소모합니다.
올바른 자세 잡기:
객체 자체는 적은 양의 메모리만 차지하며 직접 사용할 수 있습니다.
객체 자체가 많은 양의 메모리를 점유하는 경우(예: 데이터 세트 객체를 구성하는 수천 개의 레코드), 두 배의 메모리를 점유하면 PHP의 메모리 제한을 초과하여 예외가 발생할 수 있습니다.
위 내용은 PHP 객체를 배열로 변환하는 방법에 대한 블랙 기술에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!