Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP casting array to object [duplicate]

Tags:

php

casting

Possible Duplicate:
Casing an Array with Numeric Keys as an Object

I made a casting from array to object and I'm confused:

$arr = range(1,3);
$obj = (object) $arr;
var_dump($obj)

object(stdClass)#2 (5) {
  [0]=>
    int(1)
  [1]=>
    int(2)
  [2]=>
    int(3)
}

The question is: How to access the object attributes in this case? $obj->0 causes syntax error.

like image 854
biera Avatar asked Apr 19 '12 20:04

biera


2 Answers

You can't access these object properties unless you cast back to an array. Period. If you have to do this for some reason, set the array keys to something else.

like image 172
Explosion Pills Avatar answered Sep 20 '22 14:09

Explosion Pills


In this case the only thing I can think is to access properties using a foreach like this:

foreach($obj as $key => $value)
   var_dump("$key => $value");

but of course this won't solve the base problem.

like image 39
Aurelio De Rosa Avatar answered Sep 20 '22 14:09

Aurelio De Rosa