> 백엔드 개발 > PHP 문제 > PHP를 배열과 객체로 변환하는 방법

PHP를 배열과 객체로 변환하는 방법

PHPz
풀어 주다: 2023-04-25 14:08:55
원래의
472명이 탐색했습니다.

PHP에서 배열과 객체는 데이터 처리에서 중요한 역할을 하는 두 가지 일반적인 데이터 구조입니다. 데이터 소스를 배열이나 객체로 변환해야 할 때 이를 달성하기 위해 해당하는 함수나 메서드를 사용해야 하는 경우가 많습니다. 다음에서는 PHP에서 데이터 소스를 배열 및 개체로 변환하는 관련 기술을 자세히 살펴보겠습니다.

1. PHP에서 배열을 객체로 변환

PHP에서 배열을 객체로 변환하는 방법은 매우 간단합니다. 강제 유형 변환만 사용하면 됩니다. 예는 다음과 같습니다.

$array = [
    'name' => '张三',
    'age' => 20
];

$object = (object) $array;

echo $object->name;  //输出:张三
echo $object->age;   //输出:20
로그인 후 복사

배열을 캐스팅하면 PHP는 자동으로 배열의 키 이름을 객체 속성으로 사용하고 키 값을 속성 값으로 사용합니다. 이 방법은 매우 간단하고 편리하며 소규모 데이터 소스의 변환에 적합합니다.

2. 객체를 배열로 변환

배열을 객체로 변환하는 것과 달리 PHP의 객체를 배열로 변환하는 방법은 비교적 간단합니다. 이를 달성하기 위해 get_object_vars() 또는 json_decode() 함수를 사용할 수 있습니다. 이 두 가지 방법의 구체적인 작업은 아래에 소개되어 있습니다.

  1. get_object_vars() 함수

get_object_vars() 함수는 객체를 배열로 변환하고 객체 속성으로 구성된 연관 배열을 반환할 수 있습니다. 예를 들면 다음과 같습니다.

class Person {
    public $name = '张三';
    protected $age = 20;
    private $gender = '男';

    function __construct() {
        echo '对象已创建';
    }
}

$person = new Person();

$array = get_object_vars($person);

print_r($array);
로그인 후 복사

위 코드를 실행한 후 출력 결과는 다음과 같습니다.

对象已创建
Array
(
    [name] => 张三
    [age] => 20
    [*gender] => 男
)
로그인 후 복사

결과에서 알 수 있듯이 get_object_vars() 함수는 객체의 모든 속성을 배열 요소로 변환합니다. 그러나 개체에 개인 속성이나 보호 속성이 포함되어 있으면 약한 변수로 표시되고 출력에 별표(*)가 포함된다는 점에 유의해야 합니다.

  1. json_decode() 함수

json_decode() 함수는 PHP에서 일반적으로 사용되는 함수 중 하나로, JSON 형식 문자열을 PHP 배열 또는 개체로 변환할 수 있습니다. 객체를 배열로 변환해야 하는 경우 먼저 객체를 JSON 형식 문자열로 변환한 다음 json_decode() 함수를 통해 구문 분석할 수 있습니다. 샘플 코드는 다음과 같습니다.

class Person {
    public $name = '张三';
    protected $age = 20;
    private $gender = '男';

    function __construct() {
        echo '对象已创建';
    }
}

$person = new Person();

$json = json_encode($person);

$array = json_decode($json, true);

print_r($array);
로그인 후 복사

위 코드를 실행한 후 출력은 다음과 같습니다.

对象已创建
Array
(
    [name] => 张三
    [age] => 20
)
로그인 후 복사

결과에서 알 수 있듯이 json_decode() 함수는 객체의 모든 공용 속성을 배열 요소로 변환하고 모든 개인 속성과 보호 속성을 무시합니다. 개인 및 보호 속성도 배열 요소로 변환해야 하는 경우 두 번째 매개변수를 false로 설정할 수 있습니다.

3. 요약

위는 PHP의 데이터 소스를 배열과 객체로 변환하는 관련 기술입니다. 특정 데이터 소스를 분석하고 처리해야 할 때 적절한 데이터 구조를 선택하는 것이 매우 중요합니다. 데이터 소스를 배열이나 개체로 변환하면 친숙하고 표준화된 데이터 처리가 쉬워집니다. 이 기사에 설명된 내용이 대다수 PHP 개발자의 개발 작업에 도움이 되기를 바랍니다.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿