developer tip

PHP에서 변수로 명명 된 객체 속성에 어떻게 액세스 할 수 있습니까?

copycodes 2020. 9. 23. 07:44
반응형

PHP에서 변수로 명명 된 객체 속성에 어떻게 액세스 할 수 있습니까?


JSON으로 인코딩 된 Google API는 다음과 같은 객체를 반환했습니다.

[updated] => stdClass Object
(
 [$t] => 2010-08-18T19:17:42.026Z
)

누구나 $t가치에 액세스 할 수있는 방법을 알고 있습니까?

$object->$t 분명히 반환

알림 : 정의되지 않은 변수 : t/ usr / local / ...

치명적인 오류 : / ....의 빈 속성에 액세스 할 수 없습니다.


속성의 이름은 문자열 '$t'이므로 다음과 같이 액세스 할 수 있습니다.

echo $object->{'$t'};

또는 속성의 이름을 변수에 넣고 다음과 같이 사용할 수 있습니다.

$property_name = '$t';
echo $object->$property_name;

repl.it에서이 두 가지를 모두 볼 수 있습니다 : https://repl.it/@jrunning/SpiritedTroubledWorkspace


시도해 보셨습니까?

$t = '$t'; // Single quotes are important.
$object->$t;

정답 (PHP7에도 해당)은 다음과 같습니다.

$obj->{$field}

나는 php7을 사용하고 있으며 다음은 나를 위해 잘 작동합니다.

class User {
    public $name = 'john';
}
$u = new User();

$attr = 'name';
print $u->$attr;

참고 URL : https://stackoverflow.com/questions/3515861/how-can-i-access-an-object-property-named-as-a-variable-in-php

반응형