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

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

PHPz
PHPz원래의
2023-04-18 09:47:32434검색

PHP에서는 객체를 배열로 변환해야 할 때가 있습니다. 일반적으로 객체의 속성을 통해 객체의 값에 접근하거나 설정할 수 있습니다. 그러나 개체를 JSON 문자열로 변환하거나 개체의 속성을 메서드에 전달해야 하는 경우와 같이 개체를 배열로 변환해야 하는 상황이 있습니다.

PHP에서는 타입 캐스팅을 사용하여 객체를 배열로 변환할 수 있습니다. PHP에는 객체를 배열로 변환할 수 있는 캐스트 함수 array가 내장되어 있습니다. array 可以将对象转换成数组。

示例:

class Person {
  public $name;
  public $age;
  public $gender;

  public function __construct($name, $age, $gender) {
    $this->name = $name;
    $this->age = $age;
    $this->gender = $gender;
  }
}

$person = new Person("Tom", 25, "male");

$personArray = (array) $person;

print_r($personArray);

代码解析:

在上面的示例中,我们定义了一个名为 Person 的类,它有三个公共属性:$name, $age, 和 $gender。我们创建了一个 Person 对象并将其存储在变量 $person 中。接下来,我们使用 PHP 中的强制类型转换函数 array$person 对象转换为一个数组并将其存储在变量 $personArray 中。最后,我们使用 print_r 函数打印数组 $personArray

예:

Array
(
    [name] => Tom
    [age] => 25
    [gender] => male
)
코드 분석:

위의 예에서는 세 가지 공개 속성인 $name, 가 있는 <code>Person이라는 클래스를 정의합니다. $age 및 $gender. Person 개체를 생성하여 $person 변수에 저장합니다. 다음으로, PHP의 array 캐스트 함수를 사용하여 $person 객체를 배열로 변환하고 이를 $personArray 변수 중간에 저장합니다. 마지막으로 print_r 함수를 사용하여 $personArray 배열의 값을 인쇄합니다.

위 코드를 실행해보면 객체를 배열로 변환한 후 객체의 속성이 배열의 키가 되고, 속성값이 배열의 값이 되는 것을 알 수 있습니다. 출력은 다음과 같습니다.

class Person {
  private $firstName;
  protected $lastName;
  public $age;

  public function __construct($firstName, $lastName, $age) {
    $this->firstName = $firstName;
    $this->lastName = $lastName;
    $this->age = $age;
  }
}

$person = new Person("Tom", "Smith", 25);

$personArray = (array) $person;

print_r($personArray);
객체를 배열로 캐스팅하면 객체의 속성이 배열의 키가 되고, 속성값이 배열의 값이 되는 것을 알 수 있습니다. 이를 통해 객체의 속성에 더 쉽게 액세스하거나 전달할 수 있습니다.

객체를 배열로 캐스팅할 때 전용 또는 보호 속성은 배열로 변환되지 않는다는 점에 유의하는 것이 중요합니다. 따라서 모든 속성의 값을 배열에 포함시켜야 한다면 이를 공용 속성으로 설정해야 합니다.

예:

Array
(
    [PersonfirstName] => Tom
    [lastName:Protected] => Smith
    [age] => 25
)
출력은 다음과 같습니다.
    rrreee
  1. 보시다시피 배열에서 사유 속성의 이름이 수정되고 보호 속성 이름이 표시됩니다. 이는 이름 충돌을 방지하기 위해 PHP가 캐스팅할 때 개인 및 보호 속성 앞에 접두사를 추가하기 때문입니다.
  2. 위의 예와 분석을 요약하면 다음과 같은 결론을 내릴 수 있습니다.
  3. PHP에서는 캐스트를 사용하여 객체를 배열로 변환할 수 있습니다.
  4. 객체를 배열로 캐스팅하면 객체의 속성이 배열의 키가 되고 속성 값이 배열의 값이 됩니다.

개인 또는 보호 속성은 배열로 변환되지 않으며 공용 속성으로 설정해야 합니다.

🎜형변환 시 PHP는 이름 충돌을 방지하기 위해 개인 및 보호 속성 앞에 접두사를 붙입니다. 🎜🎜🎜위 내용은 PHP 객체를 배열로 변환하는 방법에 대한 몇 가지 기본 지식이지만 실제로 PHP에서 객체를 배열로 변환하는 방법은 여러 가지가 있습니다. 따라서 특정 애플리케이션에서는 비즈니스 시나리오와 특정 요구 사항에 따라 가장 적합한 변환 방법을 선택해야 합니다. 🎜

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

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