国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP對象(object) 與 數組(array) 的轉換例子

2024-05-04 21:50:12
字體:
來源:轉載
供稿:網友

數組是PHP的靈魂,非常強大,但有時候面向對象編程也是挺方便的,數組 與 對象 之間切換也是常有的事:

例子一:

  1. /** 
  2.  
  3.  * 數組 轉 對象 
  4.  
  5.  * 
  6.  
  7.  * @param array $arr 數組 
  8.  
  9.  * @return object 
  10.  
  11.  */ 
  12.  
  13. function array_to_object($arr
  14.  
  15.  
  16.  if (gettype($arr) != 'array'
  17.  
  18.  { 
  19.  
  20.   return
  21.  
  22.  } 
  23.  
  24.  foreach ($arr as $k => $v
  25.  
  26.  { 
  27.  
  28.   if (gettype($v) == 'array' || getType($v) == 'object'
  29.  
  30.   { 
  31.  
  32.    $arr[$k] = (object)array_to_object($v); 
  33.  
  34.   } 
  35.  
  36.  } 
  37.  return (object)$arr
  38.  
  39. /** 
  40.  
  41.  * 對象 轉 數組 
  42.  
  43.  * 
  44.  
  45.  * @param object $obj 對象 
  46.  
  47.  * @return array 
  48.  
  49.  */ 
  50.  
  51. function object_to_array($obj
  52.  
  53.  
  54.  $obj = (array)$obj
  55.  
  56.  foreach ($obj as $k => $v
  57.  
  58.  { 
  59.  
  60.   if (gettype($v) == 'resource'
  61.  
  62.   { 
  63.  
  64.    return
  65.  
  66.   } 
  67.  
  68.   if (gettype($v) == 'object' || gettype($v) == 'array'
  69.  
  70.   { 
  71.  
  72.    $obj[$k] = (array)object_to_array($v); 
  73.  
  74.   } 
  75.  
  76.  } 
  77. //Vevb.com 
  78.  return $obj
  79.  

例子2:

  1. <?php
  2.  
  3. class Test{ 
  4.  
  5.     public $a
  6.  
  7.     public $b
  8.  
  9.     public function __construct($a) { 
  10.  
  11.         $this->a = $a
  12.  
  13.     } 
  14.  
  15. } 
  16.  
  17. //對象轉數組,使用get_object_vars返回對象屬性組成的數組 
  18.  
  19. function objectToArray($obj){ 
  20.  
  21.     $arr = is_object($obj) ? get_object_vars($obj) : $obj
  22.  
  23.     if(is_array($arr)){ 
  24.  
  25.         return array_map(__FUNCTION__$arr); 
  26.  
  27.     }else
  28.  
  29.         return $arr
  30.  
  31.     } 
  32.  
  33.  
  34. //數組轉對象 
  35.  
  36. function arrayToObject($arr){ 
  37.  
  38.     if(is_array($arr)){ 
  39.  
  40.         return (object) array_map(__FUNCTION__$arr); 
  41.  
  42.     }else
  43.  
  44.         return $arr
  45.  
  46.     }
  47. } 
  48.  
  49. $test = new Test('test1'); 
  50.  
  51. $test->b = new Test('test2'); 
  52.  
  53. print_r($test); 
  54.  
  55. $array = objectToArray($test); 
  56.  
  57. print_r($array); 
  58.  
  59. $object = arrayToObject($array); 
  60.  
  61. print_r($object);

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 托里县| 墨竹工卡县| 大宁县| 内江市| 于田县| 普格县| 扎囊县| 桦甸市| 云阳县| 松潘县| 民和| 佛山市| 揭西县| 宁陕县| 敦煌市| 白山市| 靖边县| 山丹县| 焉耆| 堆龙德庆县| 甘肃省| 彭阳县| 金昌市| 开封县| 于田县| 南平市| 铜川市| 黄陵县| 陇南市| 石河子市| 丰台区| 出国| 德清县| 江都市| 泾阳县| 诸暨市| 汝阳县| 温州市| 麻城市| 广安市| 台江县|