php转换java对象数组对象数组对象数组对象_PHP实现数组和对象的相互转换操作示例...

本文实例讲述了PHP实现数组和对象的相互转换操作。分享给大家供大家参考,具体如下:

关于php中想让对象以数组的形式访问,这时候就需要使用到get_object_vars()函数了。先来介绍一下这个函数。

官方文档是这样解释的:

array get_object_vars ( object $obj )

返回由 obj 指定的对象中定义的属性组成的关联数组。

举一个栗子:

class Point2D {

var $x, $y;

var $label;

function Point2D($x, $y)

{

$this->x = $x;

$this->y = $y;

}

function setLabel($label)

{

$this->label = $label;

}

function getPoint()

{

return array("x" => $this->x,

"y" => $this->y,

"label" => $this->label);

}

}

// "$label" is declared but not defined

$p1 = new Point2D(1.233, 3.445);

print_r(get_object_vars($p1));

$p1->setLabel("point #1");

print_r(get_object_vars($p1));

?>

会输出:

Array

(

[x] => 1.233

[y] => 3.445

[label] =>

)

Array

(

[x] => 1.233

[y] => 3.445

[label] => point #1

)

这样就很好理解了,这个函数就是对象转数组的关键函数。

对象转数组具体实现

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;

}

}

希望本文所述对大家PHP程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值