[PHP语言] php对象转数组的函数

[复制链接]
查看2346 | 回复9 | 2020-10-31 14:57:10 | 显示全部楼层 |阅读模式

关于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! 本站分享大量程序员技术文章以及对编程开发的初级入门教程,包括图文讲解笔记和高清视频下载~
    回复

    使用道具 举报

    123457044 | 2021-4-6 21:27:49 | 显示全部楼层
    很不错的资源站
    回复

    使用道具 举报

    今夕何夕535 | 2021-7-23 12:11:28 | 显示全部楼层
    6666悟空源码资源多!
    回复

    使用道具 举报

    淡情惜缘缘wt | 2021-8-24 22:16:59 | 显示全部楼层
    谢谢楼主分享的资源,爱了~~~
    回复

    使用道具 举报

    123457665 | 2021-9-29 08:49:27 | 显示全部楼层
    我是来白嫖资源的!
    回复

    使用道具 举报

    刘岑岑故 | 2021-11-15 18:36:17 | 显示全部楼层
    悟空源码资源不错。粉了
    回复

    使用道具 举报

    空581 | 2022-3-26 10:26:38 | 显示全部楼层
    找了好多地方,终于找到了
    回复

    使用道具 举报

    侬去斯 | 2022-7-24 13:08:22 | 显示全部楼层
    厉害了悟空源码,这么多资源
    回复

    使用道具 举报

    喜欢头像那女纸 | 2023-7-27 13:26:06 | 显示全部楼层
    厉害了悟空源码,这么多资源
    回复

    使用道具 举报

    123457305 | 2024-1-25 11:34:24 | 显示全部楼层
    这个资源都有真不错
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则