将关联数组元素仅转换为对象

时间:2012-08-10 20:32:55

标签: php

我的阵列

$arr = array(
  "name" => "Prakash",
  "tall" => "maybe",
  "nick_names" => array ("p", "b", "bee", "prak", "new_names" => array("short_name" =>   "sn", "long_name" => "ln"))
);

我希望能够创建一个可以通过属性从中访问值的对象。

e.g。

 $obj->name // "PRAKASH"
 $obj->nick_names // array("p", "b", "bee", "prak", "new_names" => (object))

我怎么能得到这个?

我似乎能够通过

完成我所需要的
$obj = json_decode(json_encode($arr));

但显然这不是正确的事情。

感谢。

1 个答案:

答案 0 :(得分:2)

您可以将其投射到stdClass

$obj = (stdClass) $arr;

请注意,在PHP中,数组以任何可想到的方式远远优于stdClass

  • 更好的表现
  • 更好的遍历能力
  • 更好的可读性(IMO)