当前位置: 首页 > news >正文

PHP数组转对象和对象转数组

PHP数组转对象和对象转数组 

<?php
function array_to_object($arr){$obj = new stdClass();foreach ($arr as $key => $val) {if (is_array($val) || is_object($val)) {$obj->$key = array_to_object($val);} else {$obj->$key = $val;}}return $obj;
}
function object_to_array($obj){$_arr = is_object($obj) ? get_object_vars($obj) :$obj;foreach ($_arr as $key=>$val){$val = (is_array($val) || is_object($val)) ? object_to_array($val):$val;$arr[$key] = $val;}return $arr;
}// 假设有一个对象
class Person {public $name = "John";public $age = 30;
}
$person = new Person();
// 使用object_array函数将对象转换为数组
echo '对象:';
var_dump($person);
$array1 = object_to_array($person);
echo '转数组后:';
var_dump($array1);// 使用array_object函数将对象转换为数组
$arr=array('name'=>'Yan','age');
echo '数组:';
var_dump($arr);
$object = array_to_object($person);
// 输出转换后的数组echo '转对象后:';
var_dump($object);

 

 

创建一个空的stdClass对象。然后遍历数组,如果数组的元素是数组或对象,则递归调用array_to_object函数将其转换为对象,否则直接赋值给新对象的对应属性。最后返回转换后的对象

http://www.lryc.cn/news/103906.html

相关文章:

  • 前后端分离开发中的传参
  • mount: wrong fs type, bad option, bad superblock报错 ubuntu
  • 【图像分类】CNN+Transformer结合系列.3
  • IDA分析实例android_crackme/EasyJNI/Transformers/pingan2
  • 拿捏--->求一元二次方程的根
  • 深入浅出之Docker Compose详解
  • spring5源码篇(12)——spring-mvc请求流程
  • 风辞远的科技茶屋:来自未来的信号枪
  • MongoDB教程-8
  • Redis 理论部分
  • Android—Monkey用法
  • 几个影响 cpu cache 性能因素及 cache 测试工具介绍
  • Java从入门到精通(二)· 基本语法
  • 云安全攻防(三)之 面向云原生环境的安全体系
  • BGP汇总和破解水平分割
  • BUG:pm2启动verdaccio报错:Invalid or unexpected toke
  • Zookeeper笔记
  • 【视觉SLAM入门】5.1. 特征提取和匹配--FAST,ORB(关键点描述子),2D-2D对极几何,本质矩阵,单应矩阵,三角测量,三角化矛盾
  • 【能量管理系统( EMS )】基于粒子群算法对光伏、蓄电池等分布式能源DG进行规模优化调度研究(Matlab代码实现)
  • 绘制Circos基因圈图
  • openGauss学习笔记-26 openGauss 高级数据管理-约束
  • 学习React(四)
  • 如何将单体项目拆分成微服务
  • 【Vue框架】Vuex状态管理
  • Linked List
  • javascript数组基础
  • 【模型预测控制MPC】使用离散、连续、线性或非线性模型对预测控制进行建模(Matlab代码实现)
  • Golang之路---01 Golang VS Code创建项目
  • vue 表单form-item模板(编辑,查看,新建)
  • 【IC设计】DC工具的target、link、synthetic、symbol库