假设我有一个关联数组:
$array = array(
"key1" => "value",
"key2" => "value2");
我想让键全部大写。我会怎么做而不是通用方式(这意味着我可以应用用户定义的函数来应用到键名)?
假设我有一个关联数组:
$array = array(
"key1" => "value",
"key2" => "value2");
我想让键全部大写。我会怎么做而不是通用方式(这意味着我可以应用用户定义的函数来应用到键名)?
可以使用php的array_change_key_case函数
<?php
$input_array = array("FirSt" => 1, "SecOnd" => 4);
print_r(array_change_key_case($input_array, CASE_UPPER));
?>
令人惊讶的是,有一个array_change_key_case
函数。
除了上面的答案——下面的代码也可以解决问题。好处是您可以将其用于任何操作,而不仅仅是keys
制作钥匙。uppercase
<?php
$arr = array(
"key1" => "value",
"key2" => "value2"
);
echo "<pre>";print_r($arr);echo "</pre>";
$arra = array_combine(
array_map(function($k){
return strtoupper($k);
}, array_keys($arr)
), $arr);
echo "<pre>";print_r($arra);echo "</pre>";
此代码输出为:
Array
(
[key1] => value
[key2] => value2
)
Array
(
[KEY1] => value
[KEY2] => value2
)
因此,这只是更改数组的一种替代且更通用的解决方案。keys
谢谢。
您可以使用 foreach 循环:
$newArray = array();
foreach ($array as $k => $v) {
$newArray[strtoupper($k)] = $v;
}