相信大家都清楚使用array_change_key_case可以将数组的键值进行大小写的转换,但是该方法只适合转换二维数组,但是遇到多维数组,就没办法了,下面我们就来解决下这个问题。
[php]
<?php
//将数组键名转换为大写、小写
//$flag=1转换为大写 else 转换为小写
function change($arr,$flag=1){
//如果不是数组,直接返回值
if(!is_array($arr)) return $arr;
//将转换规则存储为$u,如果flag=1为大写
$u = ($flag==1)?CASE_UPPER:CASE_LOWER;
//对数组键值进行大小写转换
$out = array_change_key_case($arr,$u);
//遍历数组,如果是数组的则再次处理
foreach($out as $k=>$value){
if(is_array($value)){
$out[$k]=change($value,$flag);
}
}
//返回$out转换后的数组
return $out;
}
?>
[/php]文章源自陈学虎-https://chenxuehu.com/article/2015/02/4284.html
文章源自陈学虎-https://chenxuehu.com/article/2015/02/4284.html
评论