source

php에서 변수로 이름 붙여진 오브젝트 속성에 어떻게 접근할 수 있나요?

gigabyte 2022. 9. 27. 21:47
반응형

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;

You can see both of these in action on repl.it: https://repl.it/@jrunning/SpiritedTroubledWorkspace

정답(PHP7도 마찬가지)은 다음과 같습니다.

$obj->{$field}

시도해 보셨습니까?

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

저는 php7을 사용하고 있는데, 아래가 좋습니다.

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

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

이것은 php 5와 7에서 동작합니다.

$props=get_object_vars($object);
echo $props[$t];

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

반응형