PHP数组与对象之间用递归转换

一些简单的对象与数组的相互转换的问题,采用递归写了两个方法如下

?


1

2

3

4

5

6

7

8

 function arrayToObject($e){    

     ifgettype($e)!=‘array‘ return;

     foreach($e as $k=>$v){

         ifgettype($v)==‘array‘ || getType($v)==‘object‘ )

                $e[$k]=(object)arrayToObject($v);

     }

        return (object)$e;

 }

?


1

2

3

4

5

6

7

8

9

 function objectToArray($e){

    $e=(array)$e;

    foreach($e as $k=>$v){

        ifgettype($v)==‘resource‘ return;

        ifgettype($v)==‘object‘ || gettype($v)==‘array‘ )

            $e[$k]=(array)objectToArray($v);

    }

    return $e;

 }


时间: 2024-10-12 08:15:23

PHP数组与对象之间用递归转换的相关文章

byte数组与对象之间的相互转换

在进行网络通信时可能需要传输对象,如果用NIO的话,只能用Bytebuffer和channel直接 通过ByteArray*Stream和Object*Stream可以将byte数组和对象进行相互的转换. 1.byte数组转对象: byte [] data=initData();//初始化byte数组 ByteArrayInputStream inputStream=new ByteArrayInputStream(data); ObjectInputStream oInputStream=ne

PHP数组和Json之间的互相转换 json_encode() 和 json_decode()

之所以要用到Json,很多时候是因为使用ajax对象时,程序与JS函数之间的数据交互.因为JS不认识PHP中的数组,PHP也不认识JS中的数组或对象.Json很好的解决了这个问题. Json简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript的一个子集,这意味着JavaScript可以直接读取Json,非常方便. Json的具体形式是: 1.对象 对象是一个无序的“‘名称/值’对”集合.一个对象以“{”(左括号)开始,“}

jQuery的文件引入、入口函数以及js对象和jquery对象之间的互相转换

JavaScript与jquery的区别 JavaScript是一门编程语言,用来编写客户端浏览器脚本. jQuery是javascript的一个库,包含多个可重用的函数,用来辅助简化javascript开发 jQuery能做的javascript都能做到,而JavaScript能做的事情,jQuery不一定能做到 jQuery文件的引入 <body> <div class="box"></div> <!--引包(引入jquery库)-->

php深入学习笔记一(数组与对象之间的相互转化)

//1. 对象的遍历 $obj = new stdClass(); $obj->name = "lihua"; $obj->sex = "nan"; $obj->age = 12; $obj->address = "lihua in hanghzou!"; foreach($obj as $v){ echo $v."<br/>"; } /* lihua nan 12 lihua in han

XStream实现xml和java对象之间的互相转换,同理JSON也可以

首先去官网下载响应JAR包 http://xstream.codehaus.org/index.html 最少需要两个jar包,一个xstream.jar,一个是xmlpull.jar 首先来看下java对象到xml的转换 package xml; class PhoneNumber { private int code; private int number; public int getCode() { return code; } public void setCode(int code)

字符串,数组和对象之间的方法和转换

一. 字符串概念及常用的API方法: 字符串:凡是用双引号或单引号引起来的字符都叫做字符串 创建3种 1.构造函数---->构造出来一个对象 var str = new String() var str = new String("我就是我,不一样的烟火,我看自己上火") console.log(str) 2.关键字 var str = String() 3.字面量 var str = ""; var str = ''; var str = String(&q

[转]DataURL与File,Blob,canvas对象之间的互相转换的Javascript

来源 http://blog.csdn.net/cuixiping/article/details/45932793 canvas转换为dataURL (从canvas获取dataURL) var dataurl = canvas.toDataURL('image/png'); var dataurl2 = canvas.toDataURL('image/jpeg', 0.8); File对象转换为dataURL.Blob对象转换为dataURL File对象也是一个Blob对象,二者的处理相同

DataURL与File,Blob,canvas对象之间的互相转换的Javascript

canvas转换为dataURL (从canvas获取dataURL) var dataurl = canvas.toDataURL('image/png'); File对象转换为dataURL.Blob对象转换为dataURL File对象也是一个Blob对象,二者的处理相同. function readBlobAsDataURL(blob, callback) { var a = new FileReader(); a.onload = function(e) {callback(e.tar

ArrayToListDemo 数组和List之间的互相转换 2个Demo

/** List的toArray方法用于将集合转换为数组 但实际上该方法是在Collection中定义的,所以所有的集合都具备这个功能. 其中共有2个方法: Object[] toArray() 一般不用 <T>T[] toArray(T[] a) 常用 其中第二个方法是比较常用的,我们可以传入一个指定类型的数组, 该数组的元素类型应与集合的元素类型一致.返回值则是转换后的数组,该数组会保存集合中所有的元素. 注意: 参数a 的含义为要存储列表中元素的数组的长度,如果它足够大的话则存入到该数组