`
lhx1026
  • 浏览: 300683 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

php中数组和对象相互转换

    博客分类:
  • php
阅读更多

1、强制转换对象为数组

$arr = (array)$obj;

 如下例子转换结果:

用print_r打印出对象

stdClass Object
(
    [name] => main
    [text] =>
    [parrent] =>
    [content] =>
    [props] => Array
        (
        )

    [inner] => Array
        (
        )

    [level] => 0
)

 强制转换后的数组

Array
(
    [name] => main
    [text] =>
    [parrent] =>
    [content] =>
    [props] => Array
        (
        )

    [inner] => Array
        (
        )

    [level] => 0
)

 方法二:用stdClass转换数组为对象

$arr = array();
$arr['a'] = 1;
$arr['b'] = 2;
$arr['c'] = 3;

 用stdClass转换后:

$object   = new StdClass;
$object->a = 1;
$object->b = 2;
$object->c = 3;

 stdClass是PHP的一个基类,所有的类几乎都继承这个类,所以任何时候都可以被new,可以让这个变量成为一个object。同时,这个基类又有一个特殊的地方,就是没有方法。

 

3、一个类:ArrayObject,可以直接将数组转化为对象

 

$array = array('1' => 'one',
               '2' => 'two',
               '3' => 'three');

$arrayobject = new ArrayObject($array);

var_dump($arrayobject);

 结果:

object(ArrayObject)#1 (3) {
  [1]=>
  string(3) "one"
  [2]=>
  string(3) "two"
  [3]=>
  string(5) "three"
}
0
0
分享到:
评论

相关推荐

    PHP实现数组和对象的相互转换操作示例

    本文实例讲述了PHP实现数组和对象的相互转换操作。分享给大家供大家参考,具体如下: 关于php中想让对象以数组的形式访问,这时候就需要使用到get_object_vars()函数了。先来介绍一下这个函数。 官方文档是这样解释...

    PHP数组对象与Json转换操作实例分析

    主要介绍了PHP数组对象与Json转换操作,结合实例形式分析了php数组对象与json相互转换的实现方法及相关操作技巧,需要的朋友可以参考下

    php简单对象与数组的转换函数代码(php多层数组和对象的转换)

    最近用到一些简单的对象与数组的相互转换的问题,写个两个方法如下,需要的朋友可以参考下。

    PHP数组与对象之间使用递归实现转换的方法

    本文实例讲述了PHP数组与对象之间使用递归实现转换的方法。分享给大家供大家参考。具体实现方法如下: 这里涉及一些简单的对象与数组的相互转换的问题,采用递归写了两个方法如下: function arrayToObject($e){ ...

    php对象和数组相互转换的方法

    本文实例讲述了php对象和数组相互转换的方法。分享给大家供大家参考。具体分析如下: 这里定义2个php匿名对象和数组相互转换的函数,代码如下: function array2object($array) { if (is_array($array)) { $obj =...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用PHP进行Web开发的各个方面的知识和技巧,主要包括开发环境、PHP基础、Web页面交互、文件操作、会话应用、图形图像处理及面向对象等内容。...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用PHP进行Web开发的各个方面的知识和技巧,主要包括开发环境、PHP基础、Web页面交互、文件操作、会话应用、图形图像处理及面向对象等内容。...

    PHP程序开发范例宝典III

    实例036 在下拉菜单中显示数组中的元素 51 实例037 级联菜单的应用 52 实例038 修改数据时下拉列表的默认值为数据库中原数据信息 54 实例039 可输入字符的下拉菜单 56 实例040 应用下拉列表选择所要联机的...

    JAVA上百实例源码以及开源项目源代码

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    JAVA上百实例源码以及开源项目

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    xheditor-1.1.14

    如果您希望样式表存储在系统自带的模板目录ui.css中,请将插件对象的样式名留空,则会自动按照插件名来调用相应的样式,例如:xhEdtBtnCut、xhEdtBtnCopy,其中的Cut和Copy是插件名 具体调用方法请参考演示文件夹中...

Global site tag (gtag.js) - Google Analytics