1

我的阵列

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

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

例如

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

我怎么能得到这个?

我似乎能够通过

$obj = json_decode(json_encode($arr));

但显然这不是正确的做法。

谢谢。

4

1 回答 1

2

您可以将其转换为stdClass

$obj = (stdClass) $arr;

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

  • 更好的性能
  • 更好的穿越能力
  • 更好的可读性(IMO)
于 2012-08-10T20:34:21.947 回答