设为首页收藏本站
开启辅助访问
切换到宽版

创星网络[分享知识 传递快乐]

 找回密码
 立即注册

QQ登录

只需一步,快速开始

用新浪微博登录

只需一步,快速搞定

搜索
查看: 3635|回复: 0
打印 上一主题 下一主题

采用深度优先递归更换数组键值名

[复制链接]
跳转到指定楼层
楼主
发表于 2012-8-22 17:50:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Jesse.Chan 于 2012-8-22 17:55 编辑
  1.     /**
  2.      * @static 数组键名翻译成驼峰写法
  3.      * @author Neilsen.Chan 20120822
  4.      * @param $in 源数组
  5.      * @return array 输出数组
  6.      */
  7.     public static function arrKeysToCamelCase($in)
  8.     {
  9.         if(empty($in)||!is_array($in))
  10.             return $in;
  11.         $reCopyRes = array();
  12.         foreach($in as $key=>$val)
  13.         {
  14.             $reKey = self::ucFirstWord($key);
  15.             if(!is_array($val)){
  16.                 $reCopyRes[$reKey] = $val;
  17.             }else{
  18.                 $reCopyRes[$reKey] = self::arrKeysToCamelCase($val);
  19.             }
  20.         }
  21.         return $reCopyRes;
  22.     }

  23.     /**
  24.      * @static 将单词的首字母转换成大写(首单词除外)
  25.      * @author Neilsen.Chan 20120822
  26.      * @param $word 源单词字符串
  27.      * @return string 输出单词字符串
  28.      */
  29.     public static function ucFirstWord($word)
  30.     {
  31.         if(!is_string($word)){
  32.             return $word;
  33.         }else{
  34.             $wordArr = explode('_',$word);
  35.             if(!empty($wordArr)){
  36.                 $index = 0;
  37.                 foreach($wordArr as &$wd)
  38.                 {
  39.                     if($index==0){
  40.                         $index++;
  41.                         continue;
  42.                     }
  43.                     $wd = ucfirst($wd);
  44.                 }
  45.                 $outStr = implode('',$wordArr);
  46.                 return $outStr;
  47.             }else{
  48.                 return $word;
  49.             }
  50.         }
  51.     }
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|创星网络 ( 苏ICP备11027519号|网站地图  

GMT+8, 2024-9-22 06:55 , Processed in 0.091586 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表