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

最近在用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;
}

就这样,对象数组就优雅地转成了普通的数组。动动脑子,代码量下来了,功能也优雅地就实现了。一举两得,何乐而不为呢?

时间: 2024-11-08 23:53:31

PHP中把对象数组转换成普通数组的方法_php实例的相关文章

PHP把JPEG图片转换成Progressive JPEG的方法_php实例

JPEG文件格式有两种保存方式.他们是Baseline JPEG和Progressive JPEG. 两种格式有相同尺寸以及图像数据,他们的扩展名也是相同的,唯一的区别是二者显示的方式不同. Baseline JPEG 这种类型的JPEG文件存储方式是按从上到下的扫描方式,把每一行顺序的保存在JPEG文件中.打开这个文件显示它的内容时,数据将按照存储时的顺序从上到下一行一行的被显示出来,直到所有的数据都被读完,就完成了整张图片的显示.如果文件较大或者网络下载速度较慢,那么就会看到图片被一行行加载

JavaScript将数组转换成CSV格式的方法

 这篇文章主要介绍了JavaScript将数组转换成CSV格式的方法,实例分析了javascript使用valueOf方法将数组值转换为csv格式字符串的技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了JavaScript将数组转换成CSV格式的方法.分享给大家供大家参考.具体分析如下: JavaScript中数组对象的valueOf方法可以将数组的值输出为逗号分割的字符串,下面的代码演示了如何将数组抓换成逗号和竖线分割的字符串 ? 1 2 3 4 var fruits =

JavaScript将数组转换成CSV格式的方法_javascript技巧

本文实例讲述了JavaScript将数组转换成CSV格式的方法.分享给大家供大家参考.具体分析如下: JavaScript中数组对象的valueOf方法可以将数组的值输出为逗号分割的字符串,下面的代码演示了如何将数组抓换成逗号和竖线分割的字符串 var fruits = ['apple', 'peaches', 'oranges', 'mangoes']; var str = fruits.valueOf(); //输出结果: apple,peaches,oranges,mangoes 如果希望

java 怎么把二维数组转换成一维数组

问题描述 怎么把二维数组转换成一维数组详细点谢谢 解决方案 解决方案二:麻烦您说明白点.解决方案三:你看看C语言中二维数组的指针的原理,用指针访问就是类似访问一维的一样,所以你也可以把二维数组看成一维的.解决方案四:该回复于2011-02-16 13:48:21被版主删除解决方案五:Map<String,String>syncSendMessageByTemplate(StringsystemNo,StringtemplateId,Map<String,Map<String,Str

asp.net C int[]数组转换成decimal[]数组实例

<!-- asp教程.net c int[]数组转换成decimal[]数组实例 --> <% int32[] arr = { 1, 2, 3 }; ilist<decimal> lists = new list<decimal>(); foreach (int32 i in arr) {  lists.add(convert.todecimal(i)); } decimal[] darr = lists.toarray<decimal>(); for

对象无length属性时IE6/IE7中无法将其转换成伪数组(ArrayLike)_javascript技巧

有时需要将数组转成伪数组(ArrayLike),如下 复制代码 代码如下: var ary = ['one','two','three']; var obj = {}; // 没有length属性 Array.prototype.push.apply(obj, ary); for(var i in obj){ alert(i + ': ' + obj[i]); } IE8/9/Firefox/Safari/Chrome 依次弹出了obj的key及其value.即能转换成ArrayLike. 但I

php将图片文件转换成二进制输出的方法_php技巧

本文实例讲述了php将图片文件转换成二进制输出的方法.分享给大家供大家参考.具体实现方法如下: header( "Content-type: image/jpeg"); $PSize = filesize('1.jpg'); $picturedata = fread(fopen('1.jpg', "r"), $PSize); echo $picturedata; 就这么简单4行代码,就将图片以二进制流的形式输出到客户端了,和打开一张图片没有任何区别. 这里需要注意的

php实现图片转换成ASCII码的方法_php技巧

本文实例讲述了php实现图片转换成ASCII码的方法.分享给大家供大家参考.具体如下: php图片转换成ASCII码,转换后可以直接通过字符串显示图片 <html> <head> <title>Ascii</title> <style> body{ line-height:0; font-size:1px; } </style> </head> <body> <?php $image = 'image.j

destoon实现会员商铺中指定会员或会员组投放广告的方法_php实例

本文实例讲述了destoon实现会员商铺中指定会员或会员组投放广告的方法,对destoon开发来说有很好的实用价值.分享给大家供大家参考,具体方法如下: 一.指定会员属性来投放广告 如果想在同一个位置显示广告的,可以在模板文件夹template\default\homepage下的 side.htm 文件里增加: {if $COM[vip]} {else} 显示的AD(可以调用网站广告管理里的调用方式) {/if} 详解:以上代码的意思是,VIP不显示广告,其他会员则显示,可以很好的体现出VIP