php转换java对象数组对象数组对象数组对象_PHP对象(object) 与 数组(array) 的转换例子...

PHP对象(object) 与 数组(array) 的转换我们开发中用到的非常的多了,对于这个问题我们今天整理一些例子,具体的如下所示。

数组是PHP的灵魂,非常强大,但有时候面向对象编程也是挺方便的,数组 与 对象 之间切换也是常有的事:

例子一

 代码如下复制代码

/**

* 数组 转 对象

*

* @param array $arr 数组

* @return object

*/

function array_to_object($arr)

{

if (gettype($arr) != 'array')

{

return;

}

foreach ($arr as $k => $v)

{

if (gettype($v) == 'array' || getType($v) == 'object')

{

$arr[$k] = (object)array_to_object($v);

}

}

return (object)$arr;

}

/**

* 对象 转 数组

*

* @param object $obj 对象

* @return array

*/

function object_to_array($obj)

{

$obj = (array)$obj;

foreach ($obj as $k => $v)

{

if (gettype($v) == 'resource')

{

return;

}

if (gettype($v) == 'object' || gettype($v) == 'array')

{

$obj[$k] = (array)object_to_array($v);

}

}

return $obj;

}

例子2

 代码如下复制代码

class Test{

public $a;

public $b;

public function __construct($a) {

$this->a = $a;

}

}

//对象转数组,使用get_object_vars返回对象属性组成的数组

function objectToArray($obj){

$arr = is_object($obj) ? get_object_vars($obj) : $obj;

if(is_array($arr)){

return array_map(__FUNCTION__, $arr);

}else{

return $arr;

}

}

//数组转对象

function arrayToObject($arr){

if(is_array($arr)){

return (object) array_map(__FUNCTION__, $arr);

}else{

return $arr;

}

}

$test = new Test('test1');

$test->b = new Test('test2');

print_r($test);

$array = objectToArray($test);

print_r($array);

$object = arrayToObject($array);

print_r($object);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值