在php中,有时我们需要将数组内的键值改为大写。这个需求可能出现在比如读取数据库表格,获取到的字段名是小写,但是我们希望使用大写来表示。
那么,如何将数组内的键值改为大写呢?下面介绍两种方法。
方法一:使用array_change_key_case函数
php提供了array_change_key_case函数,可以将数组的键名全部转换为大写或小写。我们可以利用这个函数,将数组内的键值改为大写,示例代码如下:
// 原始数组 $originalArray = array("name"=>"Tom", "age"=>20, "gender"=>"male"); // 使用array_change_key_case函数将键名全部转为大写 $newArray = array_change_key_case($originalArray, CASE_UPPER); // 输出新的数组 print_r($newArray);
输出结果如下:
Array ( [NAME] => Tom [AGE] => 20 [GENDER] => male )
可以看到,原始数组中的键值已经全部转为大写。
需要注意的是,array_change_key_case函数并不会修改原始数组,而是返回一个新数组。因此,在实际使用中需要根据实际情况进行修改。
方法二:使用array_map函数
除了array_change_key_case函数,我们还可以使用array_map函数来实现将数组内键值改为大写的效果。array_map函数可以将一个函数作用于数组的每一个元素,示例代码如下:
// 原始数组 $originalArray = array("name"=>"Tom", "age"=>20, "gender"=>"male"); // 定义一个函数,将字符串转为大写 function strToUpperCase($str) { return strtoupper($str); } // 使用array_map函数将原始数组的键名全部转为大写 $newArray = array_combine(array_map("strToUpperCase", array_keys($originalArray)), $originalArray); // 输出新的数组 print_r($newArray);
输出结果如下:
Array ( [NAME] => Tom [AGE] => 20 [GENDER] => male )
可以看到,原始数组中的键值已经全部转为大写。
需要注意的是,array_map函数也不会修改原始数组,而是返回一个新数组。同时,为了保证新数组的键名和原数组的键名对应,我们使用了array_combine函数将新的键名和原数组的值拼接起来。
总结:
无论是使用array_change_key_case函数还是array_map函数,都可以实现将数组内的键值改为大写的效果。需要酌情选择具体的方法,来达到实际开发的需求。
以上是php将数组内键值改为大写的详细内容。更多信息请关注PHP中文网其他相关文章!