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

  • A+
所属分类:脚本开发
摘要

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

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



  • 我的微信
  • 加我请备注缘由
  • weinxin
  • 我的微信公众号
  • 轻松随便关注
  • weinxin

发表评论

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

关闭震动