本文目录一览:
php怎么把对象转为数组
这里定义2个php匿名对象和数组相互转换的函数,代码如下:
function array2object($array) {
if (is_array($array)) { $obj = new StdClass(); foreach ($array as $key = $val){ $obj-$key = $val; } } else { $obj = $array; } return $obj;}function object2array($object) { if (is_object($object)) { foreach ($object as $key = $value) { $array[$key] = $value; } } else { $array = $object; } return $array;}
用法示例如下:
$array = array('foo' = 'bar','one' = 'two','three' = 'four');$obj = array2object($array);print $obj-one; // output's "two"$arr = object2array($obj);print $arr['foo']; // output's bar
PHP中把对象转数组的几个方法
你可以循环一下,用新数组['key']=旧对象-key。
也可以这样:
$array =json_decode(json_encode(simplexml_load_string($xmlString)),TRUE);
PHP把对象转换成数组
你这种写法更适合想要把私有或者保护的属性取出来。
如果只是公有属性,完全可以使用更方便的做法:
$res = json_decode(json_encode($obj),true);
$obj是原始对象,$res则是数组了。
PHP中怎么把对象转换为关联数组
可以用函数get_object_vars将对象转换为属性组成的关联数组,其语法如下:
$arr1=get_object_vars($obj);//$obj为需要转换的对象,下同
也可以用强制类型转换,如:
$arr1=(array)$obj;
或者这样:
$arr1=settype($obj,"array");