php对象、数组间的转换
来源:互联网 发布:php sleep 函数执行 编辑:程序博客网 时间:2024/05/18 13:30
/** * PHP 对象、数组间的转换 * * @author flyer0126 * @since 2012/05/03 **/// 1. 利用(array)和(object),简单处理$objTemp = (object)array();$objTemp->a = 1;$objTemp->b = 2;$objTemp->c = 3;$arrTemp = (array)$objTemp;print_r($objTemp);print_r($arrTemp); /**stdClass Object( [a] => 1 [b] => 2 [c] => 3)Array( [a] => 1 [b] => 2 [c] => 3)**/// PS:简单的(array)和(object)只能处理单层的数据,对于多层的数组和对象转换则无能为力。// 2. 多维数组与对象间的转换处理/** * 将对象转换为多维数组 * **/function objectToArray($d) {if (is_object($d)) {// Gets the properties of the given object// with get_object_vars function$d = get_object_vars($d);}if (is_array($d)) {/** Return array converted to object* Using __FUNCTION__ (Magic constant)* for recursive call*/return array_map(__FUNCTION__, $d);}else {// Return arrayreturn $d;}} /** * 将多维数组转换为对象 * **/function arrayToObject($d) {if (is_array($d)) {/** Return array converted to object* Using __FUNCTION__ (Magic constant)* for recursive call*/return (object) array_map(__FUNCTION__, $d);}else {// Return objectreturn $d;}}// Useage:$init = new stdClass;$init->foo = "Test data";$init->bar = new stdClass;$init->bar->baaz = "Testing";$init->bar->fooz = new stdClass;$init->bar->fooz->baz = "Testing again";$init->foox = "Just test";// Convert array to object and then object back to array$array = objectToArray($init);$object = arrayToObject($array);// Print objects and arrayprint_r($init);print_r($array);print_r($object); /**stdClass Object( [foo] => Test data [bar] => stdClass Object ( [baaz] => Testing [fooz] => stdClass Object ( [baz] => Testing again ) ) [foox] => Just test)Array( [foo] => Test data [bar] => Array ( [baaz] => Testing [fooz] => Array ( [baz] => Testing again ) ) [foox] => Just test)stdClass Object( [foo] => Test data [bar] => stdClass Object ( [baaz] => Testing [fooz] => stdClass Object ( [baz] => Testing again ) ) [foox] => Just test)**/
0 0
- php对象、数组间的转换
- PHP 对象、数组间的转换
- php 数组 对象 转换
- PHP 对象-数组转换
- php多层数组和对象的转换
- php简单对象与数组的转换
- PHP 对象转换为对应的数组
- php简单对象与数组的转换
- PHP数组和对象的相互转换
- PHP对象和数组的相互转换
- php:php多层数组和对象的转换
- php 对象转换为数组
- php数组和对象转换
- PHP对象与数组转换
- php中对象转换数组与数组转换对象实例
- php中的数组与对象之间的转换
- php XML 对象数组转换成普通的数组,php取出xml属性
- php字符串和数组间的转换
- iOS 9多任务分屏要点
- Word文档转换成PDF的两种转换方式
- pymatlib常用函数之figure,plot,subplot,show
- GTK+浅谈之十三网络编程
- zeptojs中获取select选中的option的值
- php对象、数组间的转换
- htmlparser使用指南
- MyBatis入门03 解决字段名与实体类属性名不相同的冲突
- Android菜鸟的成长笔记——Spinner 省市县三级地址选择
- java.lang.ClassCastException: com.sun.org.apache.xerces.internal.dom.DeferredCommentImpl cannot be c
- cocos2dx 常见的49中动作详解
- 网络请求
- 感悟(6)
- 网上Post与Get请求数据步骤