四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

php多層數組與對象的轉換實例代碼

多層數組和對象轉化的用途很簡單,便于處理WebService中多層數組和對象的轉化

簡單的(array)和(object)只能處理單層的數據,對于多層的數組和對象轉換則無能為力。

通過json_decode(json_encode($object)可以將對象一次性轉換為數組,但是object中遇到非utf-8編碼的非ascii字符則會出現問題,比如gbk的中文,何況json_encode和decode的性能也值得疑慮。

下面上代碼:
復制代碼 代碼如下:
<?php
 function objectToArray($d) {
  if (is_object($d)) {
   // Gets the properties of the given object
   // with get_object_vars function
   $d = get_object_vars($d);
  }

  if (is_array($d)) {
   /*
   * Return array converted to object
   * Using __FUNCTION__ (Magic constant)
   * for recursive call
   */
   return array_map(__FUNCTION__, $d);
  }
  else {
   // Return array
   return $d;
  }
 }

 function arrayToObject($d) {
  if (is_array($d)) {
   /*
   * Return array converted to object
   * Using __FUNCTION__ (Magic constant)
   * for recursive call
   */
   return (object) array_map(__FUNCTION__, $d);
  }
  else {
   // Return object
   return $d;
  }
 }
 // Useage:
 // Create new stdClass Object  
        $init = new stdClass;
 // Add some test data
 $init->foo = "Test data";
 $init->bar = new stdClass;
 $init->bar->baaz = "Testing";
 $init->bar->fooz = new stdClass;
 $init->bar->fooz->baz = "Testing again";
 $init->foox = "Just test";

 // Convert array to object and then object back to array
 $array = objectToArray($init);
 $object = arrayToObject($array);

 // Print objects and array
 print_r($init);
 echo "/n";
 print_r($array);
 echo "/n";
 print_r($object);
?>

php技術php多層數組與對象的轉換實例代碼,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 卢昱晓电视剧| 上瘾泰国版| 美丽女老师| 《欢·爱》郭晓东| 挠胳肢窝肚子腰| 用药错误应急预案演练脚本| 爆操女人逼| 孕妇能吃杏仁吗| 王家卫作品| 朱莉与朱莉娅| 小学毕业老师解散班级群寄语| 荒岛惊魂 电影| 赖小子| 唐安| 电视剧暗夜与黎明剧情介绍| 礼运节选高中原文| 视频 | vk| 大内低手电视剧在线观看| 王者荣耀电视剧| 《西游降魔篇》2| 男同性恋免费视频| insanitycrew| 宇宙刑事卡邦| 山上的小屋 残雪原文| 大兵相声小品蠢得死| 小猪佩奇最新第十季| 大决战全部演员表介绍图片| 罗中立的《父亲》详案| 卫星掉落| 《韩国小姐》| 血色残阳剧情简介| 免费看黄直播| 威利| 烽火流金电视剧免费观看| 谭凯琪| 威斯曼壁挂炉售后服务热线| 假面骑士响鬼| 夫妻的世界韩国电影| 抖音登录网页版| 珠江电视台直播 珠江频道| 电影《48天》免费观看全集|