php class转数组,php stdclass如何转数组
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如何转数组相关推荐
- php对象和数组的效率,PHP对象数组和一般数组区别
PHP中的foreach作为经常用到的函数,常常用来遍历数组,对于数组中的元素是值的情形(如一般常见型的数组),foreach只是将数组中的每份元素的值拷贝到each后面的变量,也就是对值本身的拷贝, ...
- php encode 数组,PHP中json_encode转换数组时要注意的地方
一.json_encode() $arr =array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($a ...
- C++ 笔记(27)— 指针变量、数组和指针、指针数组、数组指针、指针常量与常量指针
1. 什么是指针变量? 指针变量是专门有一个变量来存放指针. int main(int argc, char *argv[]) {int a = 10;int *p = &a; //通过取地址 ...
- c++ char数组初始化_c专题指针数组与指针的关联
----在今天开始写文章之前,让我不由的想起高中里面学的一篇文章中一段话语,是荀子写的<劝学>:积土成山,风雨兴焉:积水成渊,蛟龙生焉:积善成德,而神明自得,圣心备焉.故不积跬步,无以至千 ...
- js array 删除指定元素_数组--学习笔记(数据结构数组 /js数组)
学习目标: 了解什么是数组: 数组如何访问内存地址(一维,二维): 什么是数组 是由相同类型的元素的集合所组成的数据结构,分配一块连续的内存来存储.利用元素的索引可以计算出该元素对应的存储地址. 最简 ...
- 遍历数据键和值 php,php数组实例之获取当前数组键和值 each()
each()函数返回input_array的当前键/值对,并将指针推进一个位置. 其形式如下: array each(array array) 返回的数组包含四个键,键0和key包含键名,而键1和va ...
- java数组中怎么去重_java数组去重怎么弄???大神来解
[Java] 纯文本查看 复制代码public class TestDemo { public static void main(String[] args) { //10个整数{9,10,6,6,1 ...
- php 字符串数组转数组对象_php怎么将数组转成对象?
php将数组转成对象的方法:1.使用数据类型转换,在数组变量前添加"(Object)"来将数组转成对象.2.先使用json_encode()函数将数组转换为json字符串:然后使用 ...
- byte数组截取_Go解密:数组、切片
最近在翻阅Go部分源代码,略有涉及到数组(array)和切片(slice)的实现,本文出自Arrays, slices (and strings): The mechanics of 'append' ...
最新文章
- web.py搭建服务器
- C语言一个双向链表的实现
- 黑马vue---1-7、vue杂记
- 从《芈月传》看热门IP在互联网视频行业的“前世今生”
- c 中头文件和源文件的区别是什么
- java 6 基础教程_Java小白入门教程(6)——循环语句
- AntDesign Form表单字段校验的三种方式
- 身份证号码(最后一位)计算。(使用 Excel 公式,计算 身份证最后一位)
- 卷积神经网络的参数量和计算量
- bim 水利枢纽 运维_BIM技术与现代化建筑运维管理
- 微信小程序-微信支付
- 宽带拨号上服务器无响应,宽带拨号服务器无响应(图文)
- Android流媒体播放器
- 对立与统一(期货反向跟单-交易员培训法则)
- 移动硬盘插入提示需要格式化RAW_移动硬盘数据恢复 – 图文教程
- 从零到上亿用户,我是如何一步步优化MySQL数据库的?(建议收藏)
- colorbox加载ajax调用的html页面,jQuery的弹出窗口 ColorBox
- aid learning如何换源
- git 报错解决方法:Your branch is ahead of ‘origin/dev‘ by 65 commits.
- 使用CDN后网页无法访问怎么解决