2010-08-09 2 views
1

누구나 변수에 stdClass 값을 할당하는 방법을 알고 계십니까?php stdClass : 변수에 객체 값 할당

stdClass 개체가 있는데 var_dump($userdetails->emailaddress)을 사용하여 인쇄 할 때 값을 String (31) "asdas. @ fsdf.com";으로 인쇄합니다.

하지만 변수에 개체 값을 할당 할 때, 말할 수 :

$to = $userdetails->emailaddress; 

$to 값이 NULL이 될 ...

누구든지 도와 드릴까요?

+1

정상적으로 작동합니다. 예를 들어, 다음과 같이 입력하십시오 :'php -r '$ x = new stdClass; $ x-> foo = "bar"; $ foo = $ x-> foo; var_dump ($ foo); ''bar '를 출력합니다. 실제 코드를 붙여 넣으십시오. 아마도 다른 문제가있을 것입니다. –

+0

이렇게하면됩니다. 잘못된 행동을 보여주는 완전한 예제를 제공해 줄 수 있습니까? 식별자 케이스 문제 (예 : $ userdetails 대신 $ userDetails)가 아닌지 확인 했습니까? –

답변

0

나는 거기에 아무 것도 없다고 생각한다./stdClass에서 변수에 값을 할당하는 것을 막는다. Pls는 코드의 철자를 검사합니다.

당신이 뭔가 잘못하고있는 것처럼 소리
5

때문에 PHP의 변수 및 객체 회원에

$to = $obj->eMail; 
var_dump($to); // NULL 

그러나 때문에, (기능 및 방법과는 달리) 대소 문자를 구분하는 것이

$obj = new StdClass; 
$obj->email = '[email protected]'; 
$to = $obj->email; 
var_dump($to); // string(15) "[email protected]" 

주 이 경우에는 PHP 알림도 받게됩니다.

Notice: Undefined property: stdClass::$eMail 

enabl e error_reporting(-1) 및 개발 기계의 PHP.ini 지시문 display_errors and display_startup_errors.


이것은 CW입니다. 추가 디버깅 팁을 위해이 공간을 자유롭게 사용하십시오.

0

var가 공개 되었습니까? 클래스가 같이했을 경우

:

class Example 
{ 
    public $emailaddress; 

    public function example() 
    { 
     #do something 
    } 

} 

에 문제가있을 수 왜 그 때 나는 볼 수 없습니다.

+2

그것은 StdClass이므로 대중보다 다른 모든 가시성이 적용되어서는 안됩니다. – Gordon

+0

아, StdClass를 사용한 적이 없으므로 예제 이름이라고 가정했습니다. 내 나쁜 * 홍당무 * – Dorjan