php中对象转换数组与数组转换对象实例

摘要:
使用stdClass Php代码$array=array()$arr['a']=1;$将数组转换为对象arr['b']=2;$arr['c']=3;$arr=数组();$arr[‘a']=1;$arr['b']=2;$arr['c']=3;使用stdClass转换后:Php代码$object=newStdClass$object-˃a=1;$对象-˃b=2;$对象-˃c=3;$object=newStdClass;$对象-˃a=1;$对象-˃b=2;$对象-˃c=3;StdClass是PHP的基类。几乎所有的类都继承自这个类,因此它可以随时更新,使这个变量成为一个对象。对象到数组:$val;$arr[$key]=$val;}return$arr;}将数组转换为对象˂?

用stdClass转换数组为对象                                                                                 

Php代码

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

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



用stdClass转换后:

Php代码

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

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


                                     
 


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

我应用的地方是simplexml中的simplexml_load_string()上,因为返回的全是对象,如果提取数据比较麻烦,所以应用了下面的函数

function object_to_array($obj) 
{
$_arr = is_object($obj) ? get_object_vars($obj) : $obj;
foreach ($_arr as $key => $val)
{
$val = (is_array($val) || is_object($val)) ? object_to_array($val) : $val;
$arr[$key] = $val;
}
return $arr;
}


 

数组转换成对象

<?php
$array = array(1 => php,
2 => http://www.hzhuti.com/nokia/5233/,
3 => c );

$arrayobject = new ArrayObject($array);

var_dump($arrayobject);
?>


 


运行结果:

object(ArrayObject)#1 (1) { ["storage":"ArrayObject":private]=> array(3) { [1]=> string(3) "php" [2]=> string(4) "http://www.hzhuti.com/nokia/5233/" [3]=> string(3) "c " }}



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

Php代码

$array = array('1' => 'one',                       
'2' => 'two',
'3' => 'three');
$arrayobject = new ArrayObject($array);
var_dump($arrayobject);
$array = array('1' => 'one',
'2' => 'two',
'3' => 'three');
$arrayobject = new ArrayObject($array);
var_dump($arrayobject);


 

                     
结果:

Php代码 

object(ArrayObject)#1 (3) {                        
[1]=>
string(3) "one"
[2]=>
string(3) "two"
[3]=>
string(5) "three"
}


           

更多详细内容请查看:http://www.111cn.net/phper/php-cy/41861.htm

免责声明:文章转载自《php中对象转换数组与数组转换对象实例》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【转】RS232/RS485/RS422 接口简介与编程C# 通过GUID生成不重复的ID下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Windows7&amp;amp;IIS7.5部署Discuz全攻略

组长说在内网部署一个论坛,这可难不倒我,装个Discuz嘛。部署环境就一台普通的PC,四核i3,Windows7。这就开搞了。 准备工作 系统是Windows 7 专业版,自带IIS7.5(家庭版不带)。IIS7开始带了FastCgi,对PHP支持好了许多,所以也不必装Apache啦。下载 PHP 5.4、 MySQL 5.5 以及Discuz X2。 对...

netbeans工具使用xdebug断点调试php源码

对有有经验的程序员,使用echo、print_r()、print_f()、var_dump()等函数足以调试php代码,如果需要在IDE工具中使用断点调试,xdebug就是一个非常好的php调试工具。对于不熟悉的代码,可以用Xdebug一步一步的查看请求过程和代码执行过程。 准备工作本地部署的server环境,推荐用phpStudy(内置xdebug),开...

Delphi下使用指针的简单总结(指针的赋值,数组和指针的转换,函数指针的使用)

由于最近公司太忙,好久没有更新我的BLOG了。原来想着写写关于HOOK驱动的文章,可是最后想想好久已经没有做驱动的东西了,怕写出来有错误,于是作罢。开发游戏也有一段时间了,发现使用DELPHI来开发网络游戏不了解DELPHI下指针的使用是完全不行的。所以今天我简单总结以下我使用DELPHI指针的心得。希望对大家有所帮助。 记得在大学学习C语言的时候在谭浩强...

Java虚拟机:十八、Java对象大小、对象内存布局及锁状态变化

一个对象占多少字节? 关于对象的大小,对于C/C++来说,都是有sizeof函数可以直接获取的,但是Java似乎没有这样的方法。不过还好,在JDK1.5之后引入了Instrumentation类,这个类提供了计算对象内存占用量的方法。至于具体Instrumentation类怎么用就不说了,可以参看这篇文章如何精确地测量java对象的大小。 不过有一点不同的...

第十章 数组和指针

一 数组 数组由一系列相同的元素构成。 告诉编译器需要一个数组的方式叫数组声明(array declaration),声明需要告诉编译器数组元素的个数和类型。  初始化 int main(void) {   int powers[8] = {1,2,4,8,16,32,64,128};  ... } 未初始化的数组元素值为内存中的实际值,此值是不确定...

nextcloud nginx搭建完后(初始化数据库后)登录不了

nextcloud搭建完初始化数据库(mysql8.0)后,输入用户名、密码后登录不了、登录没反应(还是跳转当前登录页面)呈现如下: 原因是web、php nginx 和  ../php/session/ 不是同一个用户 这里的../php/session是php在你当前系统安装的位置,很多博客、论坛也说明了问题,但是给的session的位置不一定对,如下...