반응형
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
반응형
'source' 카테고리의 다른 글
vue 지시문에 삽입된 것과 바인딩된 것의 차이점은 무엇입니까? (0) | 2022.09.27 |
---|---|
대문자 및 숫자를 사용한 랜덤 문자열 생성 (0) | 2022.09.27 |
JPA에서 복합 프라이머리 키를 만들고 처리하는 방법 (0) | 2022.09.25 |
MariaDB/MySQL 복합 고유 인덱스가 유효하지 않습니다. (0) | 2022.09.25 |
타입에 따라 포인터의 사이즈가 다른 플랫폼이 있나요? (1) | 2022.09.25 |