>  기사  >  백엔드 개발  >  PHP 객체를 배열로

PHP 객체를 배열로

WBOY
WBOY원래의
2024-08-29 12:43:59987검색

다음 기사에서는 배열에 대한 PHP 객체의 개요를 제공합니다. 우리 모두 알고 있듯이 객체는 메모리가 할당된 클래스 인스턴스로 알려져 있습니다. 배열의 경우 단일 이름에 유사한 유형의 값이 하나 이상 포함된 데이터 구조입니다. 반면에 연관 배열은 일반적인 PHP 배열과 다릅니다. 연관 배열은 선형 인덱스 순서가 아닌 키 값과 연결된 항목 값을 저장하는 문자열 인덱스로 구성된 배열입니다.

광고 이 카테고리에서 인기 있는 강좌 PHP 개발자 - 전문 분야 | 8개 코스 시리즈 | 3가지 모의고사

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

PHP 객체 배열 방법

이제 PHP 객체를 배열로 변환하는 다양한 방법을 살펴보겠습니다.

방법 1

json_decode 및 json_encode 메소드의 도움으로

이 메서드에서 json_decode 함수는 JSON으로 인코딩된 문자열을 가져와 PHP 변수로 변경하는 반면, json_encode 함수는 특정 값에 대해 json 형식으로 인코딩된 문자열을 반환합니다.

구문:

$arr = json_decode(json_encode ( $obj ) , true);

방법 2

타입 캐스팅의 도움으로

타입 캐스팅은 하나의 데이터 유형 변수를 다른 데이터 유형으로 변환하는 기술입니다. 이는 명시적인 데이터 유형 변환으로 간주됩니다. PHP의 타입 캐스팅 규칙을 사용하여 PHP 객체를 배열로 변환할 수 있습니다.

구문:

$arr = (array) $obj;

PHP에서 객체를 배열로 변환하는 방법은 무엇입니까?

우리 모두 알고 있듯이 문자열, 객체, 배열 등과 같은 여러 가지 데이터 형식이 있습니다. PHP의 경우에도 이와 같은 데이터 형식이 있습니다. 필요한 출력을 얻으려면 연관 배열 형식의 PHP 객체 obj 결과가 필요합니다.

이제 PHP 객체를 번역하는 방법을 살펴보겠습니다.

코드:

<?php
class hospital
{
// elements
. . . .
function __construct( $dis1, $dis2, $dis3)
{
// Use this pointer
. . . .
}
// create class object
. . .
// convert object to array
. . . .
?>

객체를 배열로 변환하는 뼈대입니다.

이제 이를 수행하는 방법을 살펴보겠습니다.

  • 문자열을 인코딩하려면 "object = json_encode($array);"를 사용하세요

오브젝트가 var_dump이면 모든 항목이 표시됩니다.

  • 객체로 디코딩하기 위해 사용 가능한 json 문자열을 사용하여 변환하고 객체에 문자열 형식을 지정합니다. $obj = json_decode(json_encode($arr));
  • 를 사용하여 수행됩니다.
  • 오브젝트가 var_dump인 경우 모든 항목을 배열로 변환하여 표시합니다.

여기에서 고려해야 할 중요한 점 중 하나는 json 문자열을 객체로 변환하는 json_decode입니다. 단, true 또는 false일 수 있는 부울 옵션을 제공하는 경우는 제외됩니다. 두 번째 매개변수가 true로 간주되어도 배열을 얻게 됩니다.

또한 json 인코딩 연산과 디코드 연산을 사용하면 배열이 클 경우 많은 리소스를 차지하는 객체로 변환됩니다. 이 경우 객체 캐스트를 사용하는 객체에 배열을 유형 캐스트하는 더 좋은 방법입니다.

$obj = (객체) $arr;를 고려하세요. 통사론. 여기서도 객체가 배열로 변환됩니다.

요구 사항에 따라 PHP에서 배열을 객체로 변환하는 데 원하는 방법을 선택할 수 있습니다.

배열할 PHP 객체의 예

아래에는 다양한 예가 나와 있습니다.

예시 #1

타입 캐스팅 방법을 사용하여 객체를 배열로 변환하는 PHP 프로그램

코드:

<?php
class hospital
{
var $el1;
var $el2;
var $el3;
function __construct( $dis1, $dis2, $dis3)
{
$this->item1 = $dis1;
$this->item2 = $dis2;
$this->item3 = $dis3;
}
}
// Creation of object for the class
$dis = new hospital("D", "S", "C") ;
echo "Items before conversion : " ;
var_dump($dis);
// convert object to array
$arr = (array)$dis;
echo "Items after conversion : ";
var_dump($arr);
?>

출력:

PHP 객체를 배열로

이 프로그램에서는 클래스 병원이 만들어지고 그 안에 el1, el2, el3 세 가지 요소가 들어있습니다. 그런 다음 객체가 생성되는 동안 실행되는 __construct() 함수가 선언됩니다. 이 작업이 완료되면 생성자는 "new"라는 키워드를 사용하여 객체 생성 중에 나중에 제공되는 매개변수를 사용합니다. 프로그램에서 var_dump() 표현식의 첫 번째 경우에 객체가 인쇄되는 것을 볼 수 있습니다. 그러나 두 번째 표현의 경우에는 타입 캐스팅 절차를 사용하여 객체가 배열로 캐스팅됩니다.

예시 #2

json encode 및 json decode를 사용하여 객체를 배열로 변환하는 PHP 프로그램

코드:

<?php
class hospital
{
var $el1;
var $el2;
function __construct( $dis1, $dis2 )
{
$this->item1 = $dis1;
$this->item2 = $dis2;
}
}
// Creating object
$dis = new hospital(500, "C");
echo "Items before conversion : " ;
var_dump($dis);
// convert object to array
$arr = json_decode(json_encode($dis), true);
echo "Items after conversion : ";
var_dump($arr);
?>

출력:

PHP 객체를 배열로

이 프로그램에서도 클래스 병원이 생성되고 그 안에 el1과 el2라는 두 가지 요소가 생성됩니다. 그런 다음 객체가 생성되는 동안 실행되는 __construct() 함수가 선언됩니다. 이 작업이 완료되면 생성자는 "new"라는 키워드를 사용하여 객체 생성 중에 나중에 제공되는 매개변수를 사용합니다. 프로그램에서 var_dump() 표현식의 첫 번째 경우에 객체가 인쇄되는 것을 볼 수 있습니다. 그러나 두 번째 표현의 경우, 객체는 타입 캐스팅 절차를 사용하여 배열로 캐스팅됩니다. 여기서 메소드 섹션의 첫 번째 메소드는 객체를 배열로 변환하는 데 사용됩니다.

결론

연관 배열은 선형 인덱스 순서가 아닌 키 값과 연결된 항목 값을 저장하는 문자열 인덱스로 구성된 배열입니다. 이 기사에서는 배열에 대한 PHP 객체의 작동 방식, 이를 달성하는 방법 및 다양한 예를 살펴보았습니다.

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

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