이 글은 PHP에서 stdClass의 사용법을 예시를 통해 분석한 것입니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.
stdclass는 PHP에 미리 정의된 여러 클래스 중 하나이며 zent에 예약된 클래스입니다. 실제로 이는 아무것도 포함하지 않은 빈 클래스인 PHP에서 제공하는 기본 클래스입니다. 이를 인스턴스화한 다음 일련의 변수를 정의하고 이를 통해 변수를 전달할 수 있습니다(많은 PHP 프로그래머는 이를 사용하여 값을 전달합니다). 자신만의 클래스를 만들 필요 없이 일련의 변수를 사용합니다. 그러나 인스턴스화 후에는 메서드를 추가할 수 없으므로 속성만 전달할 수 있습니다. 클래스가 인스턴스화되면 메서드를 추가할 수 없기 때문입니다.
stdclass는 기본 클래스로 사용할 수 있으며, 가장 큰 특징은 (파생 클래스가) 정의할 때 멤버 변수를 지정할 필요 없이 자동으로 추가할 수 있다는 것입니다.
모든 PHP 변수는 stdClass의 인스턴스입니다.
사용법:
1. stdclass 사용:
$andy = array(); $andy = (object)$andy; $andy->a = 1; $andy->b = 2; $andy->c = 3;
이런 식으로 수량을 입력합니다. b, c stdclass에 들어갔습니다. 빈 객체를 생성하려면 $andy = new Andy가 필요하고 먼저 Andy{} 클래스가 있어야 하기 때문에 문제가 줄어듭니다. 또 다른 예:
<?php $a = new stdClass(); $a->id = '11 '; $a->username = 'me'; print_r($a); ?>
은 stdClass Object( [id] => 11 [username] => me )를 출력합니다.
이 방법은 단지 구문 변경에 불과한 배열 사용을 대체하는 데 자주 사용됩니다.
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 = '11 '; $a->username = 'me'; print_r($a); ?>
은 다음을 출력합니다. stdClass Object ( [1] => 2 [2] = > ; 3 [ID] => 11 [사용자 이름] => 나 ).
<?php $a = array(1=>2,2=>3); $a = (object)$a; $a = new stdClass(); $a->id = '11 '; $a->username = 'me'; print_r($a); ?>
은 stdClass Object( [id] => 11 [username] => me )를 출력합니다.
new로 인스턴스화한 후에는 이전 배열이 지워지고 나중에 추가된 배열만 남게 됩니다. 인스턴스화되지 않으면 stdClass는 모든 요소를 유지합니다.
함수에서 전역 또는 정적을 사용하고 새 stdclass가 참조되는 경우 &new stdclass는 유효하지 않습니다. 참조 사용을 피하고 새 stdclass를 직접 사용해야 합니다.
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.
PHP에서 stdClass의 사용 분석에 관한 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!