![](http://freedede.oss-cn-hangzhou.aliyuncs.com/2020/9/YVbqEr.jpg?x-oss-process=style/syzhong)
关于php中想让对象以数组的形式访问,这时候就需要使用到get_object_vars()函数了。先来介绍一下这个函数。
官方文档是这样解释的:
array get_object_vars ( object $obj )
返回由 obj 指定的对象中定义的属性组成的关联数组。
举例:
<?php
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中文网:PHP视频教程
以上就是php对象转数组的函数的详细内容,更多请关注爱上源码网其它相关文章!
微信
分享
相关标签:php,对象,数组,转换
本文原创发布爱上源码网,转载请注明出处,感谢您的尊重!
- 上一篇:详细介绍php迭代器的作用
- 下一篇:php反射机制用法详解
相关文章
相关视频
- 数组是什么意思
- 数组怎么用
- php对象和数组区别
- php对象和数组有什么区别
- php对象转数组的函数
- PHP数组的基本概念及分类
- 数组
- (Array)对象
本文有爱上源码下载完入驻作者发布,如果对您版权造成侵害,可以联系本站站长管理进行维权删除,本站收到维权24小时内进行处理,谢谢您关注23ym.cn!
本站分享大量程序员技术文章以及对编程开发的初级入门教程,包括图文讲解笔记和高清视频下载~ |