php 字符串大小写转换

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


函数名称


使用范围


功能


strtoupper


PHP4、PHP5


将字符串转化为大写


strtolower


PHP4、PHP5


将字符串转化为小写


ucfirst


PHP4、PHP5


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


lcfirst


PHP5>= 5.3.0


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


ucwords


PHP4、PHP5


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


mb_strtoupper


PHP4>=4.3.0,PHP 5


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


mb_strtolower


PHP4>=4.3.0,PHP 5


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


mb_convert_case


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<[email protected]>
 * @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<[email protected]>
 * @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);
时间: 2024-12-14 07:29:21

php 字符串大小写转换的相关文章

php实现兼容Unicode文字的字符串大小写转换strtolower()和strtoupper()

前言 网上流传着这么一个腾讯笔试题: PHP的strtolower()和strtoupper()函数在安装非中文系统的服务器下可能会导致将汉字转换为乱码,请写两个替代的函数实现兼容Unicode文字的字符串大小写转换. 举个例子,我们直接对中英文混排的字符串处理是会出乱码的,如: php > $a = 'abc中华ABC'; php > var_dump(strtoupper($a)); string(12) "ABC??ō?ABC" php > 我们知道中文在 UT

boost 字符串大小写转换

示例代码如下: 1 #include <boost/algorithm/algorithm.hpp> 2 #include <iostream> 3 using namespace std; 4 #include <string> 5 6 void TimerTest() 7 { 8 // 字符串大小写转换; 9 string strTemp = "asdQWEghhh"; 10 string strTemp1 = strTemp; 11 strin

python 字符串大小写转换(不能使用swapcase()方法)

python 3字符串大小写转换 要求不能使用swapcase()方法 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan str1 = input("请输入字符串:") list1 = list(str1) str2 = '' for i in list1: if int(ord(i)) >= 65 and int(ord(i)) <= 90: #大写 str2 += chr(int(ord(

字符串-大小写转换

问题描述:编写一个程序,输入一个字符串(长度不超过20),然后把这个字符串内的每一个字符进行大小写变换,即将大写字母变成小写,小写字母变成大写,然后把这个新的字符串输出.输入格式:输入一个字符串,而且这个字符串当中只包含英文字母,不包含其他类型的字符,也没有空格.输出格式:输出经过转换后的字符串. 输入输出样例:样例输入:AeDb样例输出:aEdB 代码如下: 1 #include <iostream> 2 using namespace std; 3 #include <cstring

JS字符串大小写转换实现方式

toLocaleUpperCase 方法:将字符转换为大写 stringVar.tolocaleUpperCase( ) 必选的 stringVar 引用是一个 String 对象,值或文字. //转换成大写toUpperCase 方法返回一个字符串,该字符串中的所有字母都被转化为大写字母. strVariable.toUpperCase( )"String Literal".toUpperCase( ) 说明toUpperCase 方法对非字母字符不会产生影响. toLocaleLo

strtolower() strtoupper()等字符串大小写转换函数

$str = "Mary Had A Little Lamb and She LOVED It So"; string strtolower ( string $str )— 将字符串转化为小写(所有字符) // 打印 mary had a little lamb and she loved it so 返回值:返回转换后的字符串 string strtoupper ( string $string )— 将字符串转化为大写(所有字符) 打印 MARY HAD A LITTLE LAM

python字符串大小写转换

1.把字符串中的全部字母转换成小写 str.lower() 例子: # str.lower() 小写 str = "ABC" print(str.lower()) 2.把字符串中的全部字母转换成大写 str.upper() 例子: # str.upper() 大写 str2 = "abc" print(str2.upper()) 3.把首字母转换成大写 str.title() 例子: # str.title() 首字母大写 str3 = "abc"

字符串大小写转换(三种方法)

//直接通过转换比较:function num1($str){ $num = strlen($str); $res = ''; for($i=0;$i<$num;$i++){ if(strtolower($str[$i]) == $str[$i]){ $res .= strtoupper($str[$i]); }else{ $res .= strtolower($str[$i]); } } return $res;}echo num1($a);echo "<hr/>"

Python初学者笔记(3):输出列表中的奇数/奇数项,字符串中的偶数项,字符串大小写转换

[1]a=[8,13,11,6,26,19,24]1)请输出列表a中的奇数项2)请输出列表a中的奇数 解:1) 1 a=[8,13,11,6,26,19,24] 2 print a[::2] Result:>>>[8, 11, 26, 24] 2) 1 a = [8,13,11,6,26,19,24] 2 b = [] 3 for item in a: 4 if item%2 !=0: 5 b.append(item) 6 else: 7 continue 8 print b Resul