2009-10-29 10 views

Trả lời

6

Hãy thử sử dụng cú pháp mảng kết hợp, và đúc để object:

$a = (object)array('name' => 'john', 'age' => 13); 
echo $a->name; // 'john' 
+1

Đúc dường như phương pháp tốt nhất, nhưng tôi nghĩ bạn cast nó vào (object) thay vì (stdClass) theo http://php.net/manual/en/language.types.type-juggling.php –

+0

@adam: đúng vậy. Có phải 'stdClass' dùng để làm việc hay gì đó không? Tôi có nó trong đầu của tôi rằng nó đã làm việc một lần sau một thời gian. –

+0

Tôi nghĩ rằng php luôn luôn báo cáo các đối tượng như stdClass (với var_dump, vv) nhưng loại thực tế là đối tượng. Nên được như nhau trong cả hai hướng, nếu bạn hỏi tôi. –

4

Bạn cũng có thể làm:

$a = new stdClass; 
$a->name = 'john'; 
$a->age = 13; 
1

Một cách khác:

$text = '{"name": "john", "age": 13}'; 
$obj = json_decode($text); 
+0

Yêu cầu xử lý nhiều hơn so với truyền một mảng tới một đối tượng. – steampowered