多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > php數組與對象相互轉換方法

php數組與對象相互轉換方法

來源:程序員人生   發布時間:2013-11-17 16:18:37 閱讀次數:2582次

php數組與對象相互轉換方法

  1. function arrayToObject($e){ 
  2.     ifgettype($e)!='array' ) return
  3.     foreach($e as $k=>$v){ 
  4.         ifgettype($v)=='array' || getType($v)=='object' ) 
  5.             $e[$k]=(object)arrayToObject($v); 
  6.     } 
  7.     return (object)$e
  8.  
  9. function objectToArray($e){ 
  10.     $e=(array)$e
  11.     foreach($e as $k=>$v){ 
  12.         ifgettype($v)=='resource' ) return
  13.         ifgettype($v)=='object' || gettype($v)=='array' ) 
  14.             $e[$k]=(array)objectToArray($v); 
  15.     } 
  16.     return $e

關于數組轉換為對象,在phpx有看到一些帖子討論.

  1. $andy = array(); 
  2. $andy['a'] = 1; 
  3. $andy['b'] = 2; 
  4. $andy['c'] = 3; 

把andy強制轉換為數組,似乎引用的方便些了,主要是變成了->

  1. $andy = array(); 
  2. $andy = (object)$andy
  3. $andy->a = 1; 
  4. $andy->b = 2; 
  5. $andy->c = 3; 

還嫌它麻煩,再用StdClass

  1. $andy = new StdClass; 
  2. $andy->a = 1; 
  3. $andy->b = 2; 
  4. $andy->c = 3; 

stdClass 是PHP的一個基類,所有的類幾乎都繼承這個類,所以任何時候都可以被new,可以讓這個變量成為一個object,同時,這個基類又有一個特殊的地方,就是沒有方法,在這里,還有一點是對象和數組資源耗費的問題:PHP5的對象的獨特性,對象在任何地方被調用,都是引用地址型的,所以相對消耗的資源會少一 點,在其它頁面為它賦值時是直接修改,而不是引用一個拷貝,數組在程序的使用中應該是最方便的,然而數組的每次被引用($a = $b),其實都是創建了一個副本,而且,數組被unset后,還是占用了內存(沒有測試過),還有一個函數arrayobject,可以直接將數組轉化為 對象這也是一個好辦法.

  1. ArrayObject::__construct -- Construct a new array object 
  2. <?php 
  3. $array = array('1' => 'one'
  4. '2' => 'two'
  5. '3' => 'three'); 
  6. $arrayobject = new ArrayObject($array); 
  7. print_r($arrayobject); 
  8. ?> 
  9. ArrayObject Object 
  10.     [1] => one 
  11.     [2] => two 
  12.     [3] => three 

試驗了一下對象轉換為數組,也可以強制轉換:

$arr = (array)$obj;

如下例子轉換結果,可對比:

  1. Tag Object 
  2.     [name] => main 
  3.     [text] =>  
  4.     [parrent] =>  
  5.     [content] =>  
  6.     [props] => Array 
  7.         ( 
  8.         ) 
  9.  
  10.     [inner] => Array 
  11.         ( 
  12.         ) 
  13.  
  14.     [level] => 0 
  15.  
  16. Array 
  17.     [name] => main 
  18.     [text] =>  
  19.     [parrent] =>  
  20.     [content] =>  
  21.     [props] => Array 
  22.         ( 
  23.         ) 
  24.  
  25.     [inner] => Array 
  26.         ( 
  27.         ) 
  28.  
  29.     [level] => 0 
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 精品欧美成人高清在线观看2021 | 中文字幕7 | 名优写真一区二区在线 | 2021天天躁夜夜躁狠狠躁 | 中文字幕第5页 | 日本vs欧美一区二区三区 | 午夜手机福利 | 欧美性视频在线播放 | 欧美经典剧情系列h版在线观看 | 欧美日韩不卡视频一区二区三区 | 国产二区三区毛片 | 欧美xxxx三人交性视频 | 久久久久久久综合日本亚洲 | 成人自拍视频在线 | 欧美日韩亚洲一区二区三区 | 国内精品免费视频精选在线观看 | 俺去啦最新 | 国产在线综合网 | 久久国内免费视频 | 日本理论免费高清在线视频 | 亚洲图片欧美日韩 | 亚洲a网| 一级欧美毛片成人 | 好大好湿好硬顶到了好爽(双性) | 亚洲国产女人aaa毛片在线 | 国内成人自拍视频 | 久久综合精品国产一区二区三区 | 国产91精品黄网在线观看 | 特黄的欧美毛片 | 日本香蕉一区二区三区 | 中文字幕一区二区三区精品 | 久久久久久久综合日本亚洲 | 欧美视频一区二区在线观看 | 欧美日本一区二区 | 国产美女亚洲精品久久久综合91 | 午夜影院在线视频 | 欧美jizz| 欧美一级毛片高清免费观看 | 中文字幕在线免费视频 | 亚洲欧美日韩国产综合久 | 欧美三级在线看 |