• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP实现数组和对象的相互转换操作示例

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

    关于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数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php常用函数与技巧总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

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

    您可能感兴趣的文章:
    • PHP中把对象数组转换成普通数组的方法
    • php实现数组中索引关联数据转换成json对象的方法
    • PHP数组与对象之间使用递归实现转换的方法
    • php对象和数组相互转换的方法
    • PHP中把对象转换为关联数组代码分享
    • php多层数组与对象的转换实例代码
    • 解析PHP将对象转换成数组的方法(兼容多维数组类型)
    • PHP对象转换为数组函数(递归方法)
    • php简单对象与数组的转换函数代码(php多层数组和对象的转换)
    上一篇:Laravel5.4框架使用socialite实现github登录的方法
    下一篇:PHP实现的策略模式示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PHP实现数组和对象的相互转换操作示例 PHP,实现,数组,和,对象,的,