首页 >后端开发 >PHP问题 >php将数组内键值改为大写

php将数组内键值改为大写

WBOY
WBOY原创
2023-05-05 21:47:06641浏览

在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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn