对象和数组的相互转化在开发中也是很常见,一般不是多维的情况下直接(array)和(object)就可搞定了,多维的话,遍历下也就可以了:

 1 <?php
2 class test
3 {
4 public $a,$b;
5
6 public function __construct($a)
7 {
8 $this->a = $a;
9 }
10 }
11 $t = new test(30);
12 //对象转数组
13 function object2array($obj)
14 {
15 $arr = is_object($obj) ? get_object_vars($obj) : $obj;
16
17 if(is_array($arr))
18 {
19 return array_map(__FUNCTION__, $arr);
20 }
21 else
22 {
23 return $arr;
24 }
25 }
26 /*$xml = simplexml_load_file('simplexml.xml'); //对象
27 $arr = object2array($xml); //将对象转为数组
28 $arr = $arr['post'];
29 foreach($arr as $v)
30 {
31 echo $v['title'];
32 }*/
33
34 //数组转对象
35 function array2object($arr)
36 {
37 if(is_array($arr))
38 {
39 return (object) array_map(__FUNCTION__, $arr);
40 }
41 else
42 {
43 return $arr;
44 }
45 }
46
47 $test = new Test('test1');
48 $test->b = new Test('test2');
49 $array = object2array($test);
50 print_r($array);
51 $object = array2object($array);
52 print_r($object);
53 ?>

PHP 数组和对象的相互转化的更多相关文章

  1. Java 对象,数组 与 JSON 字符串 相互转化

    当 Java 对象中包含 数组集合对象时,将 JSON 字符串转成此对象. public class Cart{} public class MemberCoupon{} public class C ...

  2. js数组的操作及数组与字符串的相互转化

    数组与字符串的相互转化 <script type="text/javascript">var obj="new1abcdefg".replace(/ ...

  3. JavaScript学习总结(二)数组和对象部分

    pt学习总结(二)数组和对象部分 2016-09-16    分类:WEB开发.编程开发.首页精华暂无人评论     来源:trigkit4 分享到:更多1 对象部分 Object类型 Object  ...

  4. 使用sessionStorage、localStorage存储数组与对象(转)

    http://my.oschina.net/crazymus/blog/371757 使用sessionStorage.localStorage存储数组与对象 发表于3个月前(2015-01-26 1 ...

  5. js之数组,对象,类数组对象

    许久不写了,实在是不知道写点什么,正好最近有个同事问了个问题,关于数组,对象和类数组的,仔细说起来都是基础,其实都没什么好讲的,不过看到还是有很多朋友有些迷糊,这里就简单对于定义以及一下相同点,不同点 ...

  6. JAVA中的数组是对象吗?

    public class Main{ public static void main(String[] args) { int a[]={1,9}; //Object obj=new int[10]; ...

  7. 处理 JSON null 和空数组及对象

    描述了对 JSON 数据中使用的 null 和空数组及对象的处理. JSON 数据具有 null 和空数组及对象的概念.此部分说明其中每个概念如何映射到 null 和未设置的数据对象概念. Null ...

  8. php多层数组与对象的转换实例代码

    通过json_decode(json_encode($object)可以将对象一次性转换为数组,但是object中遇到非utf-8编码的非ascii字符则会出现问题,比如gbk的中文,何况json_e ...

  9. 2014年辛星完全解读Javascript第七节 数组和对象

    由于Javascript是脚本语言,因此,使用起来非常方便,数组的使用也是比较简单的,下面我们就主要介绍一下Javascript中数组的介绍,以及上一节中没有完成的对象的介绍. *********** ...

随机推荐

  1. CodeForces 501B - Misha and Changing Handles

    有N个改名的动作,输出改完名的最终结果. 拿map做映射 #include <iostream> #include <map> #include <string> ...

  2. windows系统部署discuz并和javaweb账号连通同步

    一.Discuz安装说明 1.安装wamp集成环境 (1)下载wampserver集成环境 网址:(http://wampserver-64bit.en.softonic.com)或百度搜索下载 (2 ...

  3. 简单的JQuery top返回顶部

    一个最简单的JQuery Top返回的代码,Mark一下: HTML如下: <div id="backtop"> <a href="javascript ...

  4. PHP环境出现时区问题

    如下图所示,php执行的时候出现如下提示: 解决办法: 重新设置php编译的时区. 具体方法如下: 1. 找到php.ini文件: 2. 修改php.ini文件中的date.timezone的值,将其 ...

  5. Python即时网络爬虫:API说明

    API说明——下载gsExtractor内容提取器 1,接口名称 下载内容提取器 2,接口说明 如果您想编写一个网络爬虫程序,您会发现大部分时间耗费在调测网页内容提取规则上,不讲正则表达式的语法如何怪 ...

  6. windows10快捷键

    • 贴靠窗口:Win +左/右> Win +上/下>窗口可以变为1/4大小放置在屏幕4个角落  • 切换窗口:Alt + Tab(不是新的,但任务切换界面改进)  • 任务视图:Win + ...

  7. flask-script 安装问题

    > 昨天开始看 flask,第二章最后提到使用 Flask-Script 支持命令行选项,但是用书上的方法安装却出现了问题. 错误信息: 注意最后两行: Could not find a ver ...

  8. encoding(hdoj1020)

    Problem Description Given a string containing only 'A' - 'Z', we could encode it using the following ...

  9. 字符串水题(hdoj1049)

    Problem Description Password security is a tricky thing. Users prefer simple passwords that are easy ...

  10. 再次优化NGINX+php-fpm上传

    上次写了一篇nginx+php-fpm优化上传,一位博友留言介绍了,第三方nginx upload module http://www.grid.net.ru/nginx/upload.en.html ...