是否有自动执行此操作的
PHP函数?
if (is_array($array)) { $obj = new StdClass(); foreach ($array as $key => $val){ $obj->$key = $val; } $array = $obj; }
为什么不投这个呢?
$myObj = (object) array("name" => "Jonathan"); print $myObj->name; // Jonathan
如果它是多维的,Richard Castera在his blog上提供以下解决方案:
function arrayToObject($array) { if(!is_array($array)) { return $array; } $object = new stdClass(); if (is_array($array) && count($array) > 0) { foreach ($array as $name=>$value) { $name = strtolower(trim($name)); if (!empty($name)) { $object->$name = arrayToObject($value); } } return $object; } else { return FALSE; } }