php--------对象(object) 与 数组(array) 的转换

php开发中常常用到数组,sql数据都是数组,数组和对象用的也是比较多的,常常相互转化,数组是PHP的灵魂,非常强大,面向对象编程也是挺方便的。

/**
 * 数组 转 对象
 *
 * @param array $arr 数组
 * @return object
 */
function array_to_object($arr) {
    if (gettype($arr) != ‘array‘) {
        return;
    }
    foreach ($arr as $k => $v) {
        if (gettype($v) == ‘array‘ || getType($v) == ‘object‘) {
            $arr[$k] = (object)array_to_object($v);
        }
    }

    return (object)$arr;
}

/**
 * 对象 转 数组
 *
 * @param object $obj 对象
 * @return array
 */
function object_to_array($obj) {
    $obj = (array)$obj;
    foreach ($obj as $k => $v) {
        if (gettype($v) == ‘resource‘) {
            return;
        }
        if (gettype($v) == ‘object‘ || gettype($v) == ‘array‘) {
            $obj[$k] = (array)object_to_array($v);
        }
    }

    return $obj;
}

原文地址:https://www.cnblogs.com/zhangqie/p/8403495.html

时间: 2024-10-07 20:45:58

php--------对象(object) 与 数组(array) 的转换的相关文章

php中对象类型与数组之间的转换

1.刚看视频学习的时候看到一个困扰很久的问题, 有时候我们在进行做项目的时候会碰到的一个小问题.举一个小例子.  获取一个xml文件里面的数据. xml.xml文件如下: <?xml version="1.0" encoding="ISO-8859-1"?><note> <to>George</to> <from>John</from> <heading>Reminder</h

&#39;object&#39; is an array. Use JSONArray instead

错误是:对象是一个数组,使用JSONArray代替 错误代码为:JSONObject json=JSONObject.fromObject(usertypeList); 正确代码为:JSONArray json=JSONArray.fromObject(usertypeList); 注意:JSONObject只是单个java对象转化json对象 'object' is an array. Use JSONArray instead

转对象(含length属性)成数组Array.prototype.slice.call(arguments)

我们知道,Array.prototype.slice.call(arguments)能将具有length属性的对象转成数组,除了IE下的节点集合(因为ie下的dom对象是以com对象的形式实现的,js对象与com对象不能进行转换) 如: 1 var a={length:2,0:'first',1:'second'}; 2 Array.prototype.slice.call(a);// ["first", "second"] 3 4 var a={length:2}

JS判断对象是不是数组“Array”

在开发中,我们经常需要判断某个对象是否为数组类型,在Js中检测对象类型的常见方法都有哪些呢? typeof 操作符 对于Function, String, Number ,Undefined 等几种类型的对象来说,他完全可以胜任,但是为Array时 var arr=new Array("1","2","3","4","5"); alert(typeof(arr)); 你会收到一个object 的答案,有点让

如果一个Object对象可能是数组那么如何对其进行迭代

需求:一个方法传入的参数是Object类型(假设对象为“items”,使用Object类型也是为了使用多态而增加方法复用性),但已知这个Object对象可能是基本类型数组,也可能是对象数组,如何将这个对象中的数组元素进行迭代,同时添加进一个集合中(我们不关心添加迭代出来的值是什么类型). 分析:如果想将一个数组迭代添加进一个集合中,那么我们最可能想到是的使用数组工具类Arrays的asList(T…a)方法: 但是这个方法的不足之处在于,对于对象数组,可以将对象数组中的每个元素迭代添加到一个Li

json字符串、json对象、数组之间的转换

json字符串转化成json对象 // jquery的方法 var jsonObj = $.parseJSON(jsonStr) //js 的方法 var jsonObj = JSON.parse(jsonStr) json对象转化成json字符串 //js方法 var jsonStr1 = JSON.stringify(jsonObj) json对象和json字符串之间的相互转换 例一:比如我有两个变量,我要将a转换成字符串,将b转换成JSON对象: var a={"name":&q

es6 Array.from() 将类似数组的对象转化为数组(1)

Array.from() 将数组对象转化为数组,应用方式Array.from(arr) arr数组对象的名称; 常用与类似数组的对象是DOM操作返回的Nodelist集合(如: let ps = document.querySelectorAll('p')),函数内部的arguments对象(如:function(){ let args = Array.from(arguments); //...}) 备注: querySelectorAll('')返回的是一个类似数组的对象,只有将对象转化为数

java 使用反射转换对象 Object to Map

Object to Map 转换的三种方法 就是把对象以及其对应的属性名 和属性值, 映射到一个Map中 import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Field; import java.lang.reflect.

对象-数组-字符串的转换

对象-数组-字符串: 例如: var data = { user:"userName", pass:"12121" };//这是一个对象 如果要给这个data 对象追加一个属性就比如: new Date( ).getTime( );//获取当前时间到那个时间的时间间隔单位是毫秒: data.time = new Date( ).getTime( ); 此时data 里面就多了一个属性: time : " 获取到的那个毫秒数" 即: var dat