>  기사  >  백엔드 개발  >  PHP 객체를 배열로 변환하는 방법에 대한 블랙 기술에 대한 자세한 설명

PHP 객체를 배열로 변환하는 방법에 대한 블랙 기술에 대한 자세한 설명

黄舟
黄舟원래의
2017-10-21 11:24:031173검색

일반적으로 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(&#39;Jack&#39;, 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
)

아이디어 분석:

  1. 먼저 개체를 json 문자열로 json_encode합니다.

  2. 변환된 json 문자열에 대해 json_decode 처리를 수행합니다.

    json_decode(json_encode($obj),true);

요약:

장점: 간단하고 빠릅니다.

단점: 메모리를 두 배로 소모합니다.

올바른 자세 잡기:

객체 자체는 적은 양의 메모리만 차지하며 직접 사용할 수 있습니다.

객체 자체가 많은 양의 메모리를 점유하는 경우(예: 데이터 세트 객체를 구성하는 수천 개의 레코드), 두 배의 메모리를 점유하면 PHP의 메모리 제한을 초과하여 예외가 발생할 수 있습니다.

위 내용은 PHP 객체를 배열로 변환하는 방법에 대한 블랙 기술에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.