博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php对象和数组相互转换的方法
阅读量:2384 次
发布时间:2019-05-10

本文共 1213 字,大约阅读时间需要 4 分钟。

这篇文章主要介绍了php对象和数组相互转换的方法,通过两个自定义函数实现对象与数组的相互转换功能,非常简单实用,需要的朋友可以参考下。

###一、对象和数组互转 本文实例讲述了php对象和数组相互转换的方法。分享给大家供大家参考。具体分析如下: 这里定义2个php匿名对象和数组相互转换的函数,代码如下:

function array2object($array) {  if (is_array($array)) {    $obj = new StdClass();    foreach ($array as $key => $val){      $obj->$key = $val;    }  }  else { $obj = $array; }  return $obj;}function object2array($object) {  if (is_object($object)) {    foreach ($object as $key => $value) {      $array[$key] = $value;    }  }  else {    $array = $object;  }  return $array;}

用法示例如下:

$array = array('foo' => 'bar','one' => 'two','three' => 'four');$obj = array2object($array);print $obj->one; // output's "two"$arr = object2array($obj);print $arr['foo']; // output's bar

###二、关于stdClass的理解

$user = new stdClass();$user->name = 'gouki';

这样的代码,这是干嘛用的呢? 翻开手册,搜索stdClass,你会发现,手册上几乎没有介绍,如果你再次搜索google,看到的也几乎全是英文解释。 其实,stdClass在PHP5才开始被流行。而stdClass也是zend的一个保留类。似乎没有其他作用。也几乎没有任何说明。 或者,我们可以这么理解:stdClass是PHP的一个基类,所有的类几乎都继承这个类,所以任何时候都可以被new,可以让这个变量成为一个object。同时,这个基类又有一个特殊的地方,就是没有方法。 凡时用new stdClass()的变量,都不可能会出现$a->test()这种方式的使用。 或者,我们可以又这么理解一下,正因为PHP5的对象的独特性,对象在任何地方被调用,都是引用地址型的,所以相对消耗的资源会少一点。在其它页面为它赋值时是直接修改,而不是引用一个拷贝。

转载于:https://my.oschina.net/corwien/blog/692825

你可能感兴趣的文章
odoo 按日期字段 指定按 年,月,日等分组
查看>>
postgresql 窗口函数
查看>>
图解VMware内存机制
查看>>
vbox 共享文件夹
查看>>
ODOO 代码修改后,如何生效
查看>>
ODOO 升级模块,xml 报错肿么办
查看>>
常用存储单位及转换关系
查看>>
ODOO MRP问题
查看>>
ODOO One2many 删除项失败问题
查看>>
Linux core 文件介绍
查看>>
什么是webhook
查看>>
Webhook 实践 —— 自动部署
查看>>
工程变更-ECN,ECO,ECR,ECA
查看>>
钉钉服务端开发文档
查看>>
git 提交代码失败(postbuffer调整)
查看>>
如何设置域名泛解析及解决恶意泛域名解析的方法
查看>>
常用git命令
查看>>
Dropship
查看>>
企业外协加工费用的账务处理
查看>>
xpath语法之根据属性定位
查看>>