PHP中把对象转数组的几个方法:

1.
//PHP stdClass Object转array
function object_array($array) {
if(is_object($array)) {
$array = (array)$array;
}
if(is_array($array)) {
foreach($array as $key=>$value) {
$array[$key] = object_array($value);
}
}
return $array;
}
2.
$array = json_decode(json_encode(simplexml_load_string($xmlString)),TRUE);
3.
function object2array_pre(&$object) {
if (is_object($object)) {
$arr = (array)($object);
} else {
$arr = &$object;
}
if (is_array($arr)) {
foreach($arr as $varName => $varValue){
$arr[$varName] = $this->object2array($varValue);
}
}
return $arr;
}
4.如果是10W的数据量的话,执行要进1s,结构再复杂些,可以达到3s,性能太差了,可以用以下替换:
function object2array(&$object) {
$object = json_decode( json_encode( $object),true);
return $object;
}
json_decode(json_encode($array),true)

PHP中把对象转数组的几个方法的更多相关文章

  1. 深夜重温JavaScript中的对象和数组

    这一块实际上已经学过了,因为没有学好,在工作过程中遇到一些对象或者数组的操作,会去百度查找,浪费了许多宝贵的时间,所以特地再拐过头来重新学习. 对象 基本概念: 对象这种基本的数据结构还有其他很多种叫 ...

  2. 前端笔记之ES678&Webpack&Babel(中)对象|字符串|数组的扩展&函数新特性&类

    一.对象的扩展 1.1对象属性名表达式 ES6可以在JSON中使用[]包裹一个key的名字.此时这个key将用表达式作为属性名(被当做变量求值),这个key值必须是字符串. var a = 'name ...

  3. JS中判断对象是不是数组的方法

    JavaScript中检测对象的方法 1.typeof操作符 这种方法对于一些常用的类型来说那算是毫无压力,比如Function.String.Number.Undefined等,但是要是检测Arra ...

  4. js中的对象与数组

    js对象与数组是js中最基本的概念, 定义对象时可用 var a = {} 定义一个空对象 定义数组时可用 var a = [] 定义一个空字符串.. 在对象中只是存在属性,属性与值之间用" ...

  5. js中的对象和数组的创建

    <!DOCTYPE html><html><head> <title>获取控制</title> <meta charset=" ...

  6. 字符串、对象、数组操作方法、json方法

    1.字符串操作方法                 1.charAt               *     作用              *         通过索引找字符             ...

  7. javascript中json对象json数组json字符串互转及取值

    今天用到了json数组和json对象和json类型字符串之间互转及取值,记录一下: 1.json类型的字符串转换为json对象及取值 var jsonString = '{"bar" ...

  8. js 对象与数组相互转化的快捷方法 Object.keys()、Object.values()、Object.entries()

    Object.keys() Object.keys 返回一个所有元素为字符串的数组,其元素来自于从给定的object上面可直接枚举的属性.这些属性的顺序与手动遍历该对象属性时的一致. 例如: let ...

  9. JS中Date对象getYear()方法和getFullYear()方法区别

    释义 JavaScript getFullYear() 方法 getFullYear() 方法可返回一个表示年份的 4 位数字. getYear() 语法 dateObject.getFullYear ...

随机推荐

  1. IntelliJ IDEA入门之常用配置以及问题解决(持续更新中)

    软件版本: IntelliJ IDEA 2019.1.1(Ultimate Edition) 运行环境: JDK1.8, Tomcat8.0, Maven3.6 我们在学习新的无论是jar包, 框架, ...

  2. JQuery自动填充控件:autocomplete(自己稍作了修改)

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. day16 模块导入及环境变量

    """ 今日内容: 1.模块 2.模块的导入 3.环境变量sys.path 4.模块间的相互调用 """ """ ...

  4. MySQL优化——索引

    内容来自:https://yq.aliyun.com/articles/214494?utm_content=m_31338 对此我们来详细分析下(也就是大家在面试时需要说的): 场景一,数据表规模不 ...

  5. 第十三章 字符串 (四)之Scanner类

    一.Scanner简述 Scanner扫描器类本质上是由正则表达式实现的,可以接受任何能产生数据的数据源对象,默认以空白符进行分词(包括\n等),使用各种next方法进行扫描匹配,获取匹配的数据. 二 ...

  6. dos2unix、diff命令

    一.dos2unix:将DOS格式文件转化成UNIX格式文件 语法: dos2unix [选项] [文件...] [-n INFILE输出文件...]           unix2dos [选项] ...

  7. LeetCode 206——链表反转(JAVA)

    题目: 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶:你可 ...

  8. Centos7.3安装Mysql5.7.26(glibc即linux通用版)

    1.检查防火墙是否关闭 //查看防火墙状态 firewall-cmd --state //关闭防火墙 systemctl stop firewalld systemctl disable firewa ...

  9. mssql 数据库“查询处理器用尽了内部资源,无法生成查询计划。”问题的处理

    在项目中动态拼接sql语句,使用union all连接结果集,每个查询语句都使用了in(几百个数值).语句如: ,,,..............................) UNION ALL ...

  10. PHP敏感词替换

    <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8& ...