有没有 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 http://www.richardcastera.com/2009/07/06/php-convert-array-to-object-with-stdclass/:
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;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)