P函数、数组键值、键名大小写转换函数

  • 2015年2月12日
  • 925
  • A+
所属分类:PHP开发
摘要

P函数、数组键值、键名大小写转换函数

P函数、数组键值、键名大小写转换函数。

[php]

<?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);

[/php]

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
突然之间,我还想再在这个世上多活几天。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: