本文实例讲述了php对象和数组相互转换的方法。分享给大家供大家参考

===========================方案一:$变量=(数据类型)值;

项目开发中,对象与数组的转换。

$变量=(数据类型)值; //将执行把值按指定的数据类型进行转换。

//数组转对象
$obj=(object)array("name"=>'张三22','password'=>'123456');
echo $obj->name;

//对象转数组
$arr=(array)$obj;
echo $arr['password'];

//自定义对象,然后转成数组
$obj2=(object)"";
$obj2->xingming="李四";
$obj2->shengao="177";
$arr2=(array)$obj2;
echo $arr2['shengao'];

 

===========================方案二:直接使用自定义函数

这里定义2个php匿名对象和数组相互转换的函数,代码如下:

<?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
?>
 

 

 

关注公众号,了解更多it技术(it问答网

发表评论

电子邮件地址不会被公开。