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;
}
就这样,对象数组就优雅地转成了普通的数组。动动脑子,代码量下来了,功能也优雅地就实现了。一举两得,何乐而不为呢?
相关推荐
- 
                             
                            php简单对象与数组的转换函数代码(php多层数组和对象的转换)复制代码 代码如下: function arrayToObject($e){ if( gettype($e)!='array' ) return; foreach($e as $k=>$v){ if( gettype($v)=='array' || getType($v)=='object' ) $e[$k]=(object)arrayToObject($v); } return (object)$e; } function objectToArray($e){ $e=(array)$e; fo 
- 
                             
                            php实现数组纵向转横向并过滤重复值的方法分析本文实例讲述了php实现数组纵向转横向并过滤重复值的方法.分享给大家供大家参考,具体如下: 一.问题 有数组: array( 6=>array(5=>'黑xx', 42=>'XXL'), 7=>array(5=>'黑xx', 40=>'XL'), 8=>array(8=>'灰', 40=>'XL'), ); 要求转换成如下结果(数组纵向转横向并过滤重复值): array( 0=>array(5=>'黑xx', 8=>'灰'), 1=& 
- 
                             
                            PHP中将数组转成XML格式的实现代码下面是网上的 复制代码 代码如下: class ArrayToXML { /** * The main function for converting to an XML document. * Pass in a multi dimensional array and this recrusively loops through and builds up an XML document. * * @param array $data * @param string $rootNodeName 
- 
                             
                            解析PHP将对象转换成数组的方法(兼容多维数组类型)复制代码 代码如下: /** * @author 我们 * @date 2013-6-21 * @todo 将对象转换成数组 * @param unknown_type $obj * @return unknown */ function object_to_array($obj){ $_arr = is_object($obj) ? get_object_vars($obj) :$obj; foreach ($_arr as $key=>$val){ $val = (is_ 
- 
                             
                            php二维数组转成字符串示例复制代码 代码如下: function arr2str ($arr){ foreach ($arr as $v) { $v = join(",",$v); //可以用implode将一维数组转换为用逗号连接的字符串 $temp[] = $v; } $t=""; foreach($temp as $v){ $t.="'".$v."'".",&quo 
- 
                             
                            PHP 数组和字符串互相转换实现方法复制代码 代码如下: $array=explode(separator,$string); $string=implode(glue,$array); 使用和理解这两个函数的关键之处是分隔符(separator)和胶合符(glue)关系.当把一个数组转换成一个字符串时,将会设置胶合符--将被插入到生成字符串中的数组值之间的字符或代码. 相反,当把字符串转换成数组时,要指定分隔符,它用于标记什么应该变成独立数组元素.例如,以字符串开始: $s1='Mon-Tue-Wed-Thu-Fri'; $da 
- 
                             
                            PHP对象转换为数组函数(递归方法)返回的是一个层次比较分明的数组对象,希望对大家有所帮助,来源WEB开发笔记(www.chhua.com). 复制代码 代码如下: 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($ 
- 
                             
                            php的数组与字符串的转换函数整理汇总1.将一个字符串转化为数组str_split()用于将一个字符串转化为数组语法: 复制代码 代码如下: str_split(string,length)<SPAN style="COLOR: #333333"><SPAN style="FONT-SIZE: 12px"><SPAN style="FONT-FAMILY: 宋体">//</SPAN></SPAN></SPAN>s 
- 
                                                         
                            php实现将数组转换为XML的方法本文实例讲述了php实现将数组转换为XML的方法.分享给大家供大家参考.具体如下: 1. php代码如下: <?php class A2Xml { private $version = '1.0'; private $encoding = 'UTF-8'; private $root = 'root'; private $xml = null; function __construct() { $this->xml = new XmlWriter(); } function toXml($da 
- 
                             
                            php中将数组转成字符串并保存到数据库中的函数代码复制代码 代码如下: /** * 将字符串转换为数组 * * @param string $data 字符串 * @return array 返回数组格式,如果,data为空,则返回空数组 */ function string2array($data) { if($data == '') return array(); @eval("\$array = $data;"); return $array; } /** * 
- 
                             
                            PHP实现数组递归转义的方法本文以实例形式讲述了PHP实现数组递归转义的方法,分享给大家供大家参考之用.具体方法如下: 主要功能代码如下: $arr = array('a"aa',array("c'd",array('e"f'))); function changes($arr){ foreach($arr as $k=>$v){ if (is_string($v)){ $arr[$k] = addslashes($v); }else if (is_array($v)) { //若为数组 
- 
                             
                            PHP编码转换函数 自动转换字符集支持数组转换复制代码 代码如下: // 自动转换字符集 支持数组转换 function auto_charset($fContents, $from='gbk', $to='utf-8') { $from = strtoupper($from) == 'UTF8' ? 'utf-8' : $from; $to = strtoupper($to) == 'UTF8' ? 'utf-8' : $to; if (strtoupper($from) === strtoupper($to) || empty($fCo 
随机推荐
- Swift中的可变参数函数介绍
- JavaScript动态修改网页元素内容的方法
- oracle表空单清理常用代码段整理
- JavaScript生成.xls文件的代码
- PHPMailer邮件类利用smtp.163.com发送邮件方法
- php park、unpark、ord 函数使用方法(二进制流接口应用实例)
- C#统计字符串里中文汉字个数的方法
- java实现多线程的两种方式继承Thread类和实现Runnable接口的方法
- Zend Framework教程之Loader以及PluginLoader用法详解
- 超强的IE背景图片闪烁(抖动)的解决办法
- Svg.js实例教程及使用手册详解(一)
- 一个可以修复 IE浏览器的批处理文件
- js 提交和设置表单的值
- Struts2中validate数据校验的两种方法详解附Struts2常用校验器
- 5分钟快速实现Android爆炸破碎酷炫动画特效的示例
- python 中的list和array的不同之处及转换问题
- vue使用vuex实现首页导航切换不同路由的方法
- 详解用python写网络爬虫-爬取新浪微博评论
- numpy.meshgrid()理解(小结)
- Android使用ViewFlipper实现上下滚动消息

