php提供一个函数来实现大小写的转换
array_change_key_case(array,case)
array 必需。规定要使用的数组。
case CASE_LOWER - 默认值,小写;CASE_UPPER 大写。
例子:
$arr = array('ID' => 1, 'NAME'=> 'Yami', 'Con' => array('PHONE' => '123456', 'EMAIL' => 'yamiliu@vip.qq.com') );
print_r(array_change_key_case($arr,CASE_LOWER));
遗憾的是,这个方法只能实现一维数组的转换。
下面写了个函数来实现多维数组的转换
/*
* 转换数组键值大小写
*
* @author yamiliu<yamiliu@vip.qq.com>
* @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' => 'yamiliu@vip.qq.com') );
changeArrKey($arr);
var_dump($arr);
后来想想改变原数组的值比不是个好注意
又写了个方法如下:
/*
* @author yamiliu<yamiliu@vip.qq.com>
* @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' => 'yamiliu@vip.qq.com') );
$r = array_key_to_case($arr, 1);
print_r($r);
话说不断的重写自己的代码,对提高技术会有大大的好处。
分享到:
相关推荐
### JSON对象及数组键值的深度大小写转换问题详解 #### 概述 在实际的软件开发过程中,尤其是在处理前后端交互数据时,经常会遇到JSON数据格式的问题。一种常见的问题是后端返回的数据键名(key names)全部为大写...
主要给大家介绍了关于json对象及数组键值的深度大小写转换问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
本文详细介绍了Java实现按照大小写字母顺序排序的方法,涉及到Java数组遍历、编码转换、判断等相关操作技巧。通过本文,读者可以了解如何使用Java实现按照大小写字母顺序排序的方法,并应用于实际编程中。 知识点...
数组在JSON中用方括号`[]`表示,对象用大括号`{}`表示。例如,一个包含数组的JSON文件可能如下所示: ```json [ { "name": "Alice", "age": 30 }, { "name": "Bob", "age": 25 } ] ``` 在C#中,我们可以...
例如,创建一个包含10个字符的数组,可以这样写: ```vb Dim chars(9) As Char ``` 这里的`chars`是数组名,`(9)`表示数组的大小,由于索引从0开始,所以实际包含了10个元素。 三、填充数组 填充数组可以使用循环...
除此之外,NSString还提供了一些常用的方法,如拼接字符串、求子字符串、字符串转换、比较字符串以及大小写转换等。 ### 数组(NSArray & NSMutableArray) 数组在Objective-C中由NSArray类管理,它提供了一个有序...
结构数组和单元数组都可用于存储混合类型的数据,但结构数组以键值对的形式组织数据,而单元数组是以位置顺序存储。 6. 单元数组在实际应用中的例子: - 在文件读写中,可以使用单元数组存储不同类型的文件信息,...
4. **数组键值的表示**:在PHP中,数组键值用引号或不引号都可以,但无引号的字符串键会转换为数字键,这可能会导致意外的行为。为了清晰和一致性,建议始终为字符串键加上引号。 其次,针对PHP周边问题的优化: 1...
在JSON规范中,键是大小写敏感的。在导出Excel时,用户可以选择是否将所有键转换为小写,以保持一致性或遵循特定的编码规范。 四、编码格式 JSON文件通常使用UTF-8编码,因为它支持多种语言字符,且是网络传输的...
第一个参数是要转换的数组,第二个参数用来指定大小写转换的方式,CASE_UPPER表示转为大写,CASE_LOWER表示转为小写。 ```php $arr1 = array("a" => "Lamp", "db" => "database", "LANGUAGE" => "PHP"); print_r...
- regexp和regexpi:在字符串中匹配正则表达式,regexpi不区分大小写。 - sprintf:将格式化的数据写入字符串。 - sscanf:从字符串中读取格式化数据。 - strcat:沿水平方向连接字符串。 - strcmp和strcmpi:...
QJsonDocument用于读写JSON文档,而QJsonObject则代表一个JSON对象,可以存储键值对。对于数组,我们使用QJsonArray,它是一个包含QJsonValue对象的容器。 处理JSON数据的第一步是解析JSON字符串。例如,如果你有一...
- `$input`:这是需要改变键值大小写的数组。 - `$case`:可选参数,可以设置为 `CASE_LOWER`(默认)以转换为小写,或者设置为 `CASE_UPPER` 以转换为大写。 例如: ```php $input_array = array('a' => 'Java'...
如果需要不区分大小写地统计,可以在统计之前对数组中的字符串值统一进行大小写转换。 总结来说,array_count_values()是PHP中一个非常实用的函数,适用于快速统计数组中各值出现的频率。它能够帮助开发者高效地...
1. **array_change_key_case**:这个函数用于将数组的所有键名转换为全部小写或大写,这对于在不区分大小写的情况下查找数组元素非常有用。 2. **array_chunk**:当需要将大数组拆分成多个小数组时,可以使用array_...
`natsort()`函数执行自然排序,适合处理数字字符串,如"10", "2", "100",而`natcasesort()`与之类似,但不区分大小写。`array_reverse()`函数则用于反向排序数组。 实例10中,`array_rand()`函数用于从数组中随机...
对于每个setter方法,它获取对应的字段名,处理首字母大小写,然后尝试获取字段的值。根据字段类型,如基本类型、Integer、Long、Float、Double、String或Date,它会以不同的方式将字段值转化为JSON格式。如果字段...
在字符串操作方面,文章虽然没有提供具体内容,但提到会讲解字符串函数,这通常包括字符串的拼接、替换、截取、大小写转换等常见操作。 日期时间函数允许开发者处理日期和时间,例如,获取当前时间戳、格式化日期等...