>  기사  >  백엔드 개발  >  PHP의 stdClass 인스턴스 코드 적용에 대한 자세한 설명

PHP의 stdClass 인스턴스 코드 적용에 대한 자세한 설명

伊谢尔伦
伊谢尔伦원래의
2017-06-30 10:12:171075검색

이 글은 주로 PHP에서 stdClass의 사용법을 소개합니다. stdClass의 기능과 사용법을 예제로 분석합니다. 필요한 참조 가치가 있습니다.

이 글은 PHP에서 stdClass의 사용법을 예제로 분석합니다. . 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

stdclass는 PHP에 미리 정의된 여러 클래스 중 하나이며 zent에 예약된 클래스입니다. 실제로 이는 아무것도 포함하지 않은 빈 클래스인 PHP에서 제공하는 기본 클래스입니다. 이를 인스턴스화한 다음 일련의 변수를 정의하고 이를 통해 변수를 전달할 수 있습니다(많은 PHP 프로그래머는 이를 사용하여 값을 전달합니다). 자신만의 클래스를 만들 필요 없이 일련의 변수를 사용합니다. 하지만 인스턴스화 후에는 메서드를 추가할 수 없으므로 properties만 전달할 수 있습니다. 클래스가 인스턴스화되면 메서드를 추가할 수 없기 때문입니다.

stdclass는 기본 클래스로 사용할 수 있습니다. 가장 큰 특징은 정의할 때 멤버 변수를 지정할 필요 없이 자동으로 멤버 변수를 추가할 수 있다는 것입니다.

모든 php 변수는 stdClass의 인스턴스입니다.

사용 방법:

1. stdclass 사용:

$andy = array();
$andy = (object)$andy;
$andy->a = 1;
$andy->b = 2;
$andy->c = 3;

이렇게 하면 a, b, c의 양이 stdclass에 채워집니다. 빈 객체를 생성하려면 $andy = new Andy가 필요하고 먼저 Andy{} 클래스가 있어야 하기 때문에 문제가 줄어듭니다. 또 다른 예:

<?php
$a = new stdClass();
$a->id = &#39;11 &#39;;
$a->username = &#39;me&#39;;
print_r($a);
?>

는 stdClass Object( [id] => 11 [username] => me )를 출력합니다.
이 방법은 단지 다른 구문인 array 사용을 대체하는 데 여러 번 사용됩니다.

2. 읽기:

stdClass Object
(
  [getWeatherbyCityNameResult] => stdClass Object
    (
      [string] => Array
        (
          [0] => 四川
          [1] => 成都
          [2] => 56294
          [3] => 56294.jpg
          [4] => 2009-5-17 13:52:08
          [5] => 26℃/19℃
          [6] => 5月17日 阴转阵雨
        )
    )
)

사실 배열과 비슷하지만 액세스 방법이 약간 다릅니다. 우리는 일반적으로 배열에 액세스하기 위해 array['key']를 사용합니다.
이러한 종류의 stdClass의 경우 위의 예와 같이 $weather->getWeatherbyCityNameResult->string[0]이 이와 같이 속성에 액세스할 수 있으며 결과는 "Sichuan"이 됩니다.

3. 인스턴스화, 새로운 기능.

이 두 코드를 비교해 보세요:

<?php  
$a = array(1=>2,2=>3);
$a = (object)$a;
$a->id = &#39;11 &#39;;
$a->username = &#39;me&#39;;
print_r($a);
?>

는 다음을 출력합니다: stdClass Object ( [1] => 2 [2] => 3 [id] => 11 [username] => me ) .

<?php  
$a = array(1=>2,2=>3);
$a = (object)$a;
$a = new stdClass();
$a->id = &#39;11 &#39;;
$a->username = &#39;me&#39;;
print_r($a);
?>

는 다음을 출력합니다: stdClass Object ( [id] => 11 [username] => me ) .

new로 인스턴스화한 후에는 이전 배열이 지워지고 나중에 추가된 배열만 남게 됩니다. 인스턴스화되지 않으면 stdClass는 모든 요소를 ​​유지합니다.

함수에서 전역 및 static을 사용하고 새 stdclass가 참조되는 경우 &new stdclass는 유효하지 않습니다. 참조 사용을 피하고 새 stdclass를 직접 사용해야 합니다.

위 내용은 PHP의 stdClass 인스턴스 코드 적용에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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