이 글은 주로 PHP에서 STDCLASS의 사용법을 소개하고, PHP에서 STDCLASS의 기능, 원리, 사용 방법 및 관련 측면을 Notes로 분석합니다. 필요한 친구들은
예제를 참고할 수 있습니다. 이 기사에서는 PHP에서 STDCLASS의 사용법을 설명합니다. 자세한 내용은 다음과 같습니다.
PHP의 STDCLASS는 개발 응용 프로그램에서 많이 사용되지 않지만 PHP의 STDCLASS는 매우 유용합니다. WordPress의 여러 위치에서 stdClass는
object(일반적으로 array 형식)를 정의한 다음 get_object_vars를 사용하여 정의된 객체를 배열로 "변환"합니다. 다음은 다음과 같습니다. 코드는 다음과 같습니다:
$tanteng = new stdClass(); $tanteng->name = 'tanteng'; $tanteng->email = 'xxx@qq.com'; $info = get_object_vars($tanteng); print_r($info); exit;
출력:
Array ( [name] => tanteng [email] => xxx@qq.com )
get_object_vars의 함수는 객체 속성으로 구성된 연관 배열을 반환하는 것입니다. 그 효과는 실제로 다음과 같이 배열을 정의하는 것과 동일합니다.
$tanteng = array(); $tanteng['name'] = 'tanteng'; $tanteng['email'] = 'xxx@qq.com';
다음과 같이 이해될 수 있습니다. stdClass는 내장 클래스이고 멤버
변수가 없으며 멤버 메서드 가 없습니다. "빈" 개체 자체는 의미가 없지만 stdClass를 사용하여 이를 정의하면 어떤 이점이 있습니까? 다음 코드:
$user = new stdClass(); $user->name = 'gouki'; $user->hehe = 'hehe'; $myUser = $user; $myUser->name = 'flypig'; print_r($user); print_r($myUser); print_r($user);
여기서 $myUser에는 $user 값이 할당됩니다. 새 메모리 저장 변수가 열리지 않은 경우에도 $myUser는 $myUser의 속성 페이지를 변경하여 $user의 속성을 변경합니다. 프로그램에 이러한 작업이 많으면 다음을 사용하여 새 복사본을 생성하지 않습니다. stdClass는 메모리 오버헤드를 절약할 수 있습니다.
실행 결과:
stdClass Object ( [name] => flypig [hehe] => hehe ) stdClass Object ( [name] => flypig [hehe] => hehe ) stdClass Object ( [name] => flypig [hehe] => hehe )
$user가 배열이고 $myUser에 할당된 경우 $myUser의 속성을 변경하면 $user가 선언한 stdClass 속성이 변경되는 것을 확인할 수 있습니다. , 복사본이 $myUser에 복사되어 시스템 오버헤드가 증가합니다.
물론 그 반대로 배열을 객체로 변환할 수도 있습니다:
$hehe['he1'] = 'he1'; $hehe['he2'] = 'he2'; $hh = (object) $hehe; print_r($hh);
결과 인쇄:
stdClass Object ( [he1] => he1 [he2] => he2 )
위 내용은 PHP에서 STDCLASS란 무엇입니까? 사용하는 방법?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!