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 相关文章推荐
PHP安装攻略:常见问题解答(三)
Oct 09 PHP
php 301转向实现代码
Sep 18 PHP
php面向对象全攻略 (八)重载新的方法
Sep 30 PHP
windwos下使用php连接oracle数据库的过程分享
May 26 PHP
Codeigniter整合Tank Auth权限类库详解
Jun 12 PHP
PHP中的use关键字概述
Jul 23 PHP
php递归json类实例
Dec 02 PHP
PHP的PDO操作简单示例
Mar 30 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
Oct 17 PHP
Yii2实现log输出到file及database的方法
Nov 12 PHP
PHP获取表单数据与HTML嵌入PHP脚本的实现
Feb 09 PHP
thinkPHP实现基于ajax的评论回复功能
Jun 22 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
全国FM电台频率大全 - 17 湖北省
2020/03/11 无线电
PHP输出控制功能在简繁体转换中的应用
2006/10/09 PHP
如何使用php判断所处服务器操作系统的类型
2013/06/20 PHP
php 中文字符串首字母的获取函数分享
2013/11/04 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
2015/07/06 PHP
php5与php7的区别点总结
2019/10/11 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
基于jquery的回到页面顶部按钮
2011/06/27 Javascript
jQuery表格列宽可拖拽改变且兼容firfox
2014/09/03 Javascript
用js判断是否为360浏览器的实现代码
2015/01/15 Javascript
jquery插件autocomplete用法示例
2016/07/01 Javascript
jQuery 判断是否包含在数组中Array[]的方法
2016/08/03 Javascript
在Web项目中引入Jquery插件报错的完美解决方案(图解)
2016/09/19 Javascript
JavaScript轻松创建级联函数的方法示例
2017/02/10 Javascript
Angularjs+bootstrap+table多选(全选)支持单击行选中实现编辑、删除功能
2017/03/27 Javascript
基于BootStrap的前端分页带省略号和上下页效果
2017/05/18 Javascript
详解从新建vue项目到引入组件Element的方法
2017/08/29 Javascript
原生js中ajax访问的实例详解
2017/09/19 Javascript
javascript实现循环广告条效果
2017/12/12 Javascript
jQuery实现的简单歌词滚动功能示例
2019/01/07 jQuery
详解vue 在移动端体验上的优化解决方案
2019/05/20 Javascript
小程序实现日历左右滑动效果
2019/10/21 Javascript
maptalks+three.js+vue webpack实现二维地图上贴三维模型操作
2020/08/10 Javascript
[02:07]TI9显影之尘系列 - Vici Gaming
2019/08/20 DOTA
[47:03]完美世界DOTA2联赛PWL S3 access vs LBZS 第一场 12.20
2020/12/23 DOTA
Python实现截屏的函数
2015/07/25 Python
Python3爬虫学习入门教程
2018/12/11 Python
pycharm开发一个简单界面和通用mvc模板(操作方法图解)
2020/05/27 Python
Python中使用Selenium环境安装的方法步骤
2021/02/22 Python
BOSE德国官网:尽探索之力,享音乐之极
2016/12/11 全球购物
介绍一下JNDI的基本概念
2013/07/26 面试题
什么是lambda函数
2013/09/17 面试题
党员个人思想汇报
2013/12/28 职场文书
标准发言稿结尾
2019/07/18 职场文书
委托开发合同书(标准版)
2019/08/07 职场文书
使用这 6个Vue加载动画库来减少我们网站的跳出率
2021/05/18 Vue.js