PHP에서 클래스를 배열과 객체 배열로 변환하는 방법

PHPz
풀어 주다: 2023-04-20 15:11:41
원래의
817명이 탐색했습니다.

PHP는 웹 개발에 널리 사용되는 서버 측 스크립팅 언어입니다. PHP 개발에서는 객체를 배열로 변환하거나 배열의 값을 객체의 속성에 할당해야 하는 경우가 많습니다. 이 문서에서는 클래스를 배열 및 개체 배열로 변환하는 방법을 설명합니다.

1. 클래스를 배열로 변환

먼저 이름, 성별, 나이 및 기타 정보를 포함하는 Person 클래스를 정의합니다.

class Person {
    public $name;
    public $gender;
    public $age;
}
로그인 후 복사

이제 이 클래스를 배열로 변환하여 데이터를 저장하고 전송해야 합니다. 객체의 모든 속성을 반환하는 PHP 내장 함수 get_object_vars()를 사용할 수 있습니다. 이 함수를 사용하여 Person 객체의 속성 배열을 가져온 다음 배열을 처리할 수 있습니다.

$person = new Person();
$person->name = 'Tom';
$person->gender = 'male';
$person->age = 20;

$personArray = get_object_vars($person);
print_r($personArray);
로그인 후 복사

출력 결과는 다음과 같습니다.

Array
(
    [name] => Tom
    [gender] => male
    [age] => 20
)
로그인 후 복사

get_object_vars() 함수를 통해 Person 객체를 $ 배열로 변환합니다. personArray, 여기서 키 이름은 객체의 속성 이름에 해당하고, 키 값은 속성 값에 해당합니다.

2. 배열을 객체 배열로 변환

다음으로 배열을 객체 배열로 변환하는 방법을 소개하겠습니다. Person 클래스를 예로 들어 보겠습니다. 여러 개인 정보가 포함된 배열이 있다고 가정합니다. 각 개인 정보는 연관 배열로 표시됩니다.

$personList = [
    [
        'name' => 'Tom',
        'gender' => 'male',
        'age' => 20
    ],
    [
        'name' => 'Jerry',
        'gender' => 'male',
        'age' => 25
    ],
    [
        'name' => 'Lucy',
        'gender' => 'female',
        'age' => 18
    ]
];
로그인 후 복사

관련 작업을 용이하게 하려면 이 배열을 Person 개체의 배열로 변환해야 합니다. foreach 문을 사용하여 이 배열을 반복한 다음 각 연관 배열을 Person 객체로 변환하고 마지막으로 이러한 객체를 새 배열에 저장할 수 있습니다.

$personObjectList = [];

foreach ($personList as $person) {
    $personObject = new Person();
    $personObject->name = $person['name'];
    $personObject->gender = $person['gender'];
    $personObject->age = $person['age'];

    array_push($personObjectList, $personObject);
}

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

출력은 다음과 같습니다.

Array
(
    [0] => Person Object
        (
            [name] => Tom
            [gender] => male
            [age] => 20
        )

    [1] => Person Object
        (
            [name] => Jerry
            [gender] => male
            [age] => 25
        )

    [2] => Person Object
        (
            [name] => Lucy
            [gender] => female
            [age] => 18
        )

)
로그인 후 복사

연관 배열을 다음으로 변환합니다. Person 객체, 원래 배열을 Person 객체 $personObjectList의 배열로 변환했습니다. 각 객체의 속성 이름과 속성 값은 원래 배열의 키 이름과 키 값에 해당합니다.

3. 결론

이 글에서는 클래스를 배열로, 배열을 객체로 변환하는 방법을 소개합니다. 이러한 기술은 PHP 개발에 매우 ​​일반적으로 사용되며 데이터를 보다 편리하게 저장하고 조작하는 데 도움이 될 수 있습니다. 이 글이 귀하의 개발 작업에 도움이 되기를 바랍니다.

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

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