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



My array

$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));

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

谢谢。

你可以把它投射到一个stdClass

$obj = (stdClass) $arr;

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

  • 更好的性能
  • 更好的横移能力
  • 更好的可读性(海事组织)

相关内容

  • 没有找到相关文章

最新更新