php stdclass如何转数组2020-09-17 00:29:23

php stdclass转数组的方法:1、使用“object_array”方法将stdClass Object转array;2、通过“json_decode”函数进行转换;3、使用“object2array_pre”方法进行转换。

推荐:《PHP视频教程》

PHP中把stdClass Object转array的几个方法

PHP和JS通讯通常都用json,但用 json 传过来的数组并不是标准的array,而是 stdClass 类型。那么我们可以参考下面的几个方法进行转换。

方法一://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;

}

方法二:$array = json_decode(json_encode(simplexml_load_string($xmlString)),TRUE);

方法三: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;

}

如果是10W的数据量的话,执行要进1s,结构再复杂些,可以达到3s, 性能太差了

可以用以下替换:function object2array(&$object) {

$object = json_decode( json_encode( $object),true);

return $object;

}

但是对json的特性,只能是针对utf8的,否则得先转码下。

特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

Tags 标签

php class转数组,php stdclass如何转数组相关推荐

  1. php对象和数组的效率,PHP对象数组和一般数组区别

    PHP中的foreach作为经常用到的函数,常常用来遍历数组,对于数组中的元素是值的情形(如一般常见型的数组),foreach只是将数组中的每份元素的值拷贝到each后面的变量,也就是对值本身的拷贝, ...

  2. php encode 数组,PHP中json_encode转换数组时要注意的地方

    一.json_encode() $arr =array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($a ...

  3. C++ 笔记(27)— 指针变量、数组和指针、指针数组、数组指针、指针常量与常量指针

    1. 什么是指针变量? 指针变量是专门有一个变量来存放指针. int main(int argc, char *argv[]) {int a = 10;int *p = &a; //通过取地址 ...

  4. c++ char数组初始化_c专题指针数组与指针的关联

    ----在今天开始写文章之前,让我不由的想起高中里面学的一篇文章中一段话语,是荀子写的<劝学>:积土成山,风雨兴焉:积水成渊,蛟龙生焉:积善成德,而神明自得,圣心备焉.故不积跬步,无以至千 ...

  5. js array 删除指定元素_数组--学习笔记(数据结构数组 /js数组)

    学习目标: 了解什么是数组: 数组如何访问内存地址(一维,二维): 什么是数组 是由相同类型的元素的集合所组成的数据结构,分配一块连续的内存来存储.利用元素的索引可以计算出该元素对应的存储地址. 最简 ...

  6. 遍历数据键和值 php,php数组实例之获取当前数组键和值 each()

    each()函数返回input_array的当前键/值对,并将指针推进一个位置. 其形式如下: array each(array array) 返回的数组包含四个键,键0和key包含键名,而键1和va ...

  7. java数组中怎么去重_java数组去重怎么弄???大神来解

    [Java] 纯文本查看 复制代码public class TestDemo { public static void main(String[] args) { //10个整数{9,10,6,6,1 ...

  8. php 字符串数组转数组对象_php怎么将数组转成对象?

    php将数组转成对象的方法:1.使用数据类型转换,在数组变量前添加"(Object)"来将数组转成对象.2.先使用json_encode()函数将数组转换为json字符串:然后使用 ...

  9. byte数组截取_Go解密:数组、切片

    最近在翻阅Go部分源代码,略有涉及到数组(array)和切片(slice)的实现,本文出自Arrays, slices (and strings): The mechanics of 'append' ...

最新文章

  1. web.py搭建服务器
  2. C语言一个双向链表的实现
  3. 黑马vue---1-7、vue杂记
  4. 从《芈月传》看热门IP在互联网视频行业的“前世今生”
  5. c 中头文件和源文件的区别是什么
  6. java 6 基础教程_Java小白入门教程(6)——循环语句
  7. AntDesign Form表单字段校验的三种方式
  8. 身份证号码(最后一位)计算。(使用 Excel 公式,计算 身份证最后一位)
  9. 卷积神经网络的参数量和计算量
  10. bim 水利枢纽 运维_BIM技术与现代化建筑运维管理
  11. 微信小程序-微信支付
  12. 宽带拨号上服务器无响应,宽带拨号服务器无响应(图文)
  13. Android流媒体播放器
  14. 对立与统一(期货反向跟单-交易员培训法则)
  15. 移动硬盘插入提示需要格式化RAW_移动硬盘数据恢复 – 图文教程
  16. 从零到上亿用户,我是如何一步步优化MySQL数据库的?(建议收藏)
  17. colorbox加载ajax调用的html页面,jQuery的弹出窗口 ColorBox
  18. aid learning如何换源
  19. git 报错解决方法:Your branch is ahead of ‘origin/dev‘ by 65 commits.
  20. 使用CDN后网页无法访问怎么解决

热门文章

  1. python编写宠物类pet_Python宠物类
  2. java 异步汇总查询
  3. fastjson对json字符串JSONObject和JSONArray互相转换操作示例java
  4. 销售易对接打通管易云客户查询接口与会员新增接口
  5. 苹果10.1又出漏洞,还能愉快的玩吗?
  6. 不同型号服务器的数据迁移方法
  7. vboxmanage 常用命令
  8. 无图无真相!设计模式概览
  9. 已用上MIX 4,雷军回顾MIX系列过去5款机型
  10. keil添加hal库_一、使用HAL库建立STM32工程