2009-10-29 21 views

Odpowiedz

6

Spróbuj użyć składni tablicy asocjacyjnej i rzucając do object:

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

Casting wydaje się najlepszą metodą, ale myślę, że rzuciłeś go (obiekt), a nie (stdClass), jak na http://php.net/manual/en/language.types.type-juggling.php –

+0

@adam: prawda jesteś. Czy 'stdClass' używa do pracy czy coś? Mam w głowie, że zadziałało to kiedyś. –

+0

Myślę, że php zawsze zgłasza obiekty jako stdClass (z var_dump, itp.), Ale rzeczywisty typ jest obiektem. Powinien być taki sam w obu kierunkach, jeśli mnie pytasz. –

4

Można również zrobić:

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

inny sposób:

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

Wymaga znacznie więcej przetwarzania niż rzutowanie tablicy na obiekt. – steampowered

Powiązane problemy