好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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

本文章来介绍了在php中如何把数组转换成对象或是把对象转换成数组对象,用stdClass转换数组为对象,代码如下:

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

用stdClass转换后,代码如下:

$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 => java,               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) "java" [3]=> string(3) "c " }}   

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

$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"                                          } */  

查看更多关于php中对象转换数组与数组转换对象实例 - php数组的详细内容...

  阅读:44次