P函数、数组键值、键名大小写转换函数。
<?php ######################################## # #数组键名和键值转化大小写函数 # ######################################## header('Content-type:text/html;Charset=utf-8'); //直接定义一个数组,方便调试 $arr = array( 'a' => 'abSSddd', 'B' => 'addEEsss', 'c' => array( 'D' => 'hhWWUUiii', 'e' => 'FFqqq', 'F' => array( 'g' => 'aaAADww', 'H' => 'QQQssss', ), ), ); ############################################ # #打印函数 # ############################################ function p($arr){ header('Content-type:text/html;Charset=utf-8'); echo "<pre style='position:relative;z-index:1000;padding:10px;border-radius:5px;background:#F5F5F5;border:1px solid #aaa;font-size:14px;line-height:18px;opacity:0.9;'>"; print_r($arr); echo "</pre>"; } ############################################ # #函数会处理数组键名进行大小写转换 # #array_changge_uplower('数组','==1为大写,其他为小写') # ############################################ function array_changge_uplower($arr,$keyFlag=1){ //如果不是数组,返回字符串 if(!is_array($arr)) return $arr; //根据传入的值,进行需要转大小写赋值 $uKey = $keyFlag == 1 ? CASE_UPPER : CASE_LOWER; //对数组进行大小写的转换 $out = array_change_key_case($arr,$uKey); // 再次遍历数组,对内部数组进行递归处理 foreach($out as $k => $v){ //如果键值还是数组,则再次进行转换 if(is_array($v)){ $out[$k] = array_changge_uplower($v,$keyFlag); } } return $out; } ############################################ # #函数会处理数组键值进行大小写转换 # #changeValue('数组','==1为大写,其他为小写') # ############################################ function changeValue($arr,$flag=1){ //如果不是数组,直接返回值 if(!is_array($arr)) return $arr; //吐过flag为1转换为大写,否则为小写 $u = ($flag==1) ? 'strtoupper' : 'strtolower'; // 遍历数组,对内部数组进行递归处理 foreach ($arr as $key => $value) { //如果是数组,再次进行遍历处理 if(is_array($value)){ $out[$key] = changeValue($value,$flag); //如果不是数组,则转换键值 }else{ $out[$key] = $u($value); } } return $out; } echo "<div>原数组是这样的:</div>"; p($arr); echo "<div>转换为大写后是这样的:</div>"; $au = changeValue($arr,1); p($au); echo "<div>转换为小写后是这样的:</div>"; $al = changeValue($arr,2); p($al);文章源自陈学虎-https://chenxuehu.com/article/2015/02/4289.html文章源自陈学虎-https://chenxuehu.com/article/2015/02/4289.html
评论