PHP中把对象数组转换成普通数组的方法


Posted in PHP onJuly 10, 2015

最近在用ThinkPHP开发一个京东服务市场的应用,然而京东服务市场接口返回的数据是个对象数组。然而需要一个个属性取出来放到数组里面然后再利用ThinkPHP的addAll或者add方法写入数据库。然而每次返回的字段有几十个,每次这么拼接都要崩溃了。果然还是那句话,当你感到无法忍受的时候你就会想办法改变。于是想了下,如果有个函数传个对象数组进去可以自动转成普通数组就好了。因而万能的互联网搜索又来了。百度了一通。。。果然有前辈已经处理过了,在此记录一下。

/**

* [std_class_object_to_array 将对象转成数组]

* @param [stdclass] $stdclassobject [对象]

* @return [array] [数组]

*/

function std_class_object_to_array($stdclassobject)

{
$_array = is_object($stdclassobject) ? get_object_vars($stdclassobject) : $stdclassobject;


foreach ($_array as $key => $value) {


$value = (is_array($value) || is_object($value)) ? std_class_object_to_array($value) : $value;


$array[$key] = $value;

}

return $array;

}

就这样,对象数组就优雅地转成了普通的数组。动动脑子,代码量下来了,功能也优雅地就实现了。一举两得,何乐而不为呢?
PHP 相关文章推荐
PHPMYADMIN 简明安装教程 推荐
Mar 07 PHP
PHP中for与foreach的区别分析
Mar 09 PHP
PHP字符串的连接的简单实例
Dec 30 PHP
php共享内存段示例分享
Jan 20 PHP
Smarty局部缓存的几种方法简介
Jun 17 PHP
php中file_exists函数使用详解
May 08 PHP
PHP中的常见魔术方法功能作用及用法实例
Jul 01 PHP
PHP使用ODBC连接数据库的方法
Jul 18 PHP
基于thinkPHP实现的微信自定义分享功能示例
Sep 23 PHP
PHP多个图片压缩成ZIP的方法
Aug 18 PHP
Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解
Oct 11 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 PHP
codeigniter实现get分页的方法
Jul 10 #PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
Jul 10 #PHP
php基于Snoopy解析网页html的方法
Jul 09 #PHP
php生成固定长度纯数字编码的方法
Jul 09 #PHP
php随机获取金山词霸每日一句的方法
Jul 09 #PHP
PHP实现的QQ空间g_tk加密算法
Jul 09 #PHP
PHP自毁程序(慎用)
Jul 09 #PHP
You might like
php的curl实现get和post的代码
2008/08/23 PHP
php中使用redis队列操作实例代码
2013/02/07 PHP
在html页面中包含共享页面的方法
2008/10/24 Javascript
Javascript remove 自定义数组删除方法
2009/10/20 Javascript
深入理解JavaScript定时机制
2010/10/29 Javascript
对xmlHttp对象的理解
2011/01/17 Javascript
jQuery页面图片伴随滚动条逐渐显示的小例子
2013/03/21 Javascript
JavaScript var声明变量背后的原理示例解析
2013/10/12 Javascript
jQuery实现的原图对比窗帘效果
2014/06/15 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
2016/03/17 Javascript
Angularjs 滚动加载更多数据
2016/03/17 Javascript
jQuery EasyUI Tab 选项卡问题小结
2016/08/16 Javascript
js友好的时间返回函数
2016/08/24 Javascript
KnockoutJS 3.X API 第四章之事件event绑定
2016/10/10 Javascript
angularJS 指令封装回到顶部示例详解
2017/01/22 Javascript
JS中实现函数return多个返回值的实例
2017/02/21 Javascript
详解vue的数据binding绑定原理
2017/04/12 Javascript
修改UA在PC中访问只能在微信中打开的链接方法
2017/11/27 Javascript
vue路由组件按需加载的几种方法小结
2018/07/12 Javascript
vue使用原生js实现滚动页面跟踪导航高亮的示例代码
2018/10/25 Javascript
深入理解react 组件类型及使用场景
2019/03/07 Javascript
VUE写一个简单的表格实例
2019/08/06 Javascript
[06:53]2018DOTA2国际邀请赛寻真——为复仇而来的Newbee
2018/08/15 DOTA
Python实现手写一个类似django的web框架示例
2018/07/20 Python
在PyCharm中实现关闭一个死循环程序的方法
2018/11/29 Python
python中如何使用分步式进程计算详解
2019/03/22 Python
pyqt5 comboBox获得下标、文本和事件选中函数的方法
2019/06/14 Python
Django怎么在admin后台注册数据库表
2020/11/14 Python
利用Python批量识别电子账单数据的方法
2021/02/08 Python
CSS3 @keyframes简单动画实现
2018/02/24 HTML / CSS
英国广泛的照明产品网站:Lights4living
2018/01/28 全球购物
介绍JAVA 中的Collection FrameWork(及如何写自己的数据结构)
2014/10/31 面试题
大学生专业个人学习的自我评价
2013/10/26 职场文书
学生会离职感言
2014/02/11 职场文书
师德演讲稿范文
2014/05/06 职场文书
解析Redis Cluster原理
2021/06/21 Redis