php 设置字符串大小写转换,php 字符串大小写转换

strtoupper()、strtolower()、ucfirst()、ucfirst()、ucwords()、mb_strtoupper()、mb_strtolower()和mb_convert_case()这八个函数的区别和联系:

函数名称

使用范围

功能

PHP4、PHP5

将字符串转化为大写

PHP4、PHP5

将字符串转化为小写

PHP4、PHP5

将字符串的首字母转化为大写

PHP5>= 5.3.0

将字符串的首字母转化为小写

PHP4、PHP5

将字符串中每个单词的首字符转化为大写

PHP4>=4.3.0,PHP 5

将字符串转化为大写(与strtoupper函数有区别)

PHP4>=4.3.0,PHP 5

将字符串转化为小写(与strtolower函数有区别)

PHP4>=4.3.0,PHP 5

按照不同的模式对字符串进行转换

php提供一个函数来实现大小写的转换

array_change_key_case(array,case)

array 必需。规定要使用的数组。

case  CASE_LOWER - 默认值,小写;CASE_UPPER 大写。

例子:

$arr = array(‘ID‘ => 1, ‘NAME‘=> ‘Yami‘, ‘Con‘ => array(‘PHONE‘ => ‘123456‘, ‘EMAIL‘ => [email protected]) );

print_r(array_change_key_case($arr,CASE_LOWER));

遗憾的是,这个方法只能实现一维数组的转换。

下面写了个函数来实现多维数组的转换

/*

* 转换数组键值大小写

*

* @author yamiliu

* @params $aValue array 需要转换的数组

* @params $case boolean 0:小写、默认值;1:大写

*

*/

function changeArrKey(&$aValue, $case = 0)

{

foreach ( $aValue as $key => $item ) {

if ( $case ) {

$keyTemp = strtoupper($key);

} else {

$keyTemp = strtolower($key);

}

if ( $keyTemp != $key ) {

unset($aValue[$key]);

$aValue[$keyTemp] = $item;

}

if ( is_array($item) ) {

changeArrKey($aValue[$keyTemp], $case);

}

}

}

// 调用

$arr = array(‘ID‘ => 1, ‘NAME‘=> ‘Yami‘, ‘Con‘ => array(‘PHONE‘ => ‘123456‘, ‘EMAIL‘ => [email protected]) );

changeArrKey($arr);

var_dump($arr);

后来想想改变原数组的值比不是个好注意

又写了个方法如下:

/*

* @author yamiliu

* @params array $aValue 需要转换的数组

* @params boolean $case 0:小写、默认值;1:大写

* @return array 转换后的数组

*/

function array_key_to_case( $aValue, $case = 0 )

{

$aValueTemp = array();

foreach ( $aValue as $key => $item ) {

if ( $case ) {

$keyTemp = strtoupper($key);

} else {

$keyTemp = strtolower($key);

}

$aValueTemp[$keyTemp] = $item;

if ( is_array($item) ) {

$aValueTemp[$keyTemp] = array_key_to_case($item, $case);

}

}

return $aValueTemp;

}

// 调用

$arr = array(‘id‘ => 1, ‘name‘=> ‘Yami‘, ‘Con‘ => array(‘phone‘ => ‘123456‘, ‘email‘ => [email protected]) );

$r = array_key_to_case($arr, 1);

print_r($r);

原文:http://www.cnblogs.com/aprils/p/3983387.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值