大小写转换

大小写转换

/**
 * 对关联数组中键名转换大小写处理
 * @param  [type] $arr 要转换的数组
 * @param  string $op  必须是CASE_LOWER,CASE_UPPER其中的值,忽略大小写,默认为CASE_LOWER
 * @return [type]      转换后的数组
 */
function to_up_low($arr,$op='CASE_LOWER')
{
	//判断第一个参数$arr是否是数组
	//不是数组不进行操作
	if(!is_array($arr))
	{
		return '第一个参数不是数组';
	}
	//判断第二参数$op的值
	if(!in_array(strtoupper($op), array('CASE_LOWER','CASE_UPPER')))
	{
		return '第二个参数不是 CASE_LOWER、CASE_UPPER其中的一个';
	}
	//遍历数组
	foreach($arr as $k => $a)
	{
		//查看是否有子数组,有子数组要进行递归处理
		if(is_array($a))
		{
			//递归调用函数
			$arr[$k]=to_up_low($a,$op);
		}
	}
	//把转换后的数组放入 $result中
	$result=array_change_key_case($arr,strtoupper($op)=='CASE_UPPER'?CASE_UPPER:CASE_LOWER);
	//返回结果
	return $result;
}

  

posted on 2015-04-08 12:26  wuye1200  阅读(254)  评论(0编辑  收藏  举报

导航