php怎么转化数组中的键名

寻技术 PHP编程 2023年12月05日 85

今天小编给大家分享一下php怎么转化数组中的键名的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

1.使用array_map()函数

array_map()函数是一个PHP内置的数组函数,它可以将一个或多个数组中的每个元素应用一个回调函数。我们可以使用这个函数来遍历数组,然后将每个键名进行转化。

示例代码:

$arr = array('name1' => 'value1', 'name2' => 'value2', 'name3' => 'value3');
$new_arr = array_map(function ($key) {
    return strtolower(str_replace('name', 'id', $key));
}, array_keys($arr));

print_r(array_combine($new_arr, $arr));

这个代码片段中,我们首先定义了一个数组$arr,并使用array_map()函数遍历它的键名。使用array_keys()函数可以返回数组的所有键名。在回调函数中,我们使用了strtolower()函数将键名转化为小写,并使用str_replace()函数将“name”转化为“id”。

最后,我们使用array_combine()函数将新的键名和原始的值重新组合成一个新的数组。

2.使用foreach循环

除了array_map()函数外,我们还可以使用foreach循环来遍历数组,并将每个键名进行转化。

示例代码:

$arr = array('name1' => 'value1', 'name2' => 'value2', 'name3' => 'value3');
$new_arr = array();

foreach ($arr as $key => $value) {
    $new_key = strtolower(str_replace('name', 'id', $key));
    $new_arr[$new_key] = $value;
}

print_r($new_arr);

在这个代码片段中,我们使用foreach循环遍历数组。在循环中,我们使用了strtolower()函数将键名转化为小写,并使用str_replace()函数将“name”转化为“id”。

最后,我们将新的键名和原始的值组合成一个新的数组。

3.使用array_combine()函数

另一种将数组的键名转化为其他形式的方法是使用array_combine()函数。

示例代码:

$arr = array('name1' => 'value1', 'name2' => 'value2', 'name3' => 'value3');
$new_arr = array();

$new_keys = array_map(function ($key) {
    return strtolower(str_replace('name', 'id', $key));
}, array_keys($arr));

$new_arr = array_combine($new_keys, $arr);

print_r($new_arr);

在这个代码片段中,我们使用array_map()函数遍历数组的键名,并将它们转化为新的键名。然后,我们使用array_combine()函数将新的键名和原始的值重新组合成一个新的数组。

关闭

用微信“扫一扫”