php 把一个数组键重新自定义
时间: 2024-03-16 18:47:38 浏览: 21
要重新定义一个数组的键,可以使用 PHP 中的 array_combine() 函数。该函数接受两个数组作为输入,一个数组包含键名,另一个数组包含对应的值。它会返回一个新的数组,其中包含原始数组中的值,并将其与新的键名关联。
以下是一个示例:
```php
$old_array = array('a', 'b', 'c');
$new_keys = array('foo', 'bar', 'baz');
$new_array = array_combine($new_keys, $old_array);
print_r($new_array);
```
输出:
```
Array
(
[foo] => a
[bar] => b
[baz] => c
)
```
在这个示例中,我们使用 array_combine() 函数将 $old_array 数组中的值关联到新的键名 $new_keys 中。最终得到的 $new_array 数组使用新的键名,而不是原始数组中的索引键。
相关问题
php 把一个二维数组键重新自定义
要重新定义一个二维数组的键,可以使用 PHP 中的 array_map() 和 array_combine() 函数结合使用。array_map() 函数将一个回调函数应用于数组的每个元素,而 array_combine() 函数将一个数组的键与另一个数组的值结合起来创建一个新数组。
以下是一个示例:
```php
$old_array = array(
array('id' => 1, 'name' => 'John'),
array('id' => 2, 'name' => 'Jane'),
array('id' => 3, 'name' => 'Bob')
);
$new_keys = array('user_id', 'user_name');
$new_array = array_map(function($entry) use ($new_keys) {
return array_combine($new_keys, $entry);
}, $old_array);
print_r($new_array);
```
输出:
```
Array
(
[0] => Array
(
[user_id] => 1
[user_name] => John
)
[1] => Array
(
[user_id] => 2
[user_name] => Jane
)
[2] => Array
(
[user_id] => 3
[user_name] => Bob
)
)
```
在这个示例中,我们使用 array_map() 函数将 $old_array 数组中的每个子数组传递给回调函数。回调函数将每个子数组的键与 $new_keys 数组中的对应值结合起来,创建一个新的数组。最终得到的 $new_array 数组包含了原始数组中的所有值,并将它们与新的键名关联。
php 把一个二维数组里面的某个值作为键重新自定义
好的,我明白了。你可以使用 PHP 中的 array_column() 函数和 array_combine() 函数来完成这个操作。具体步骤如下:
1. 使用 array_column() 函数提取出要重新定义键的值,作为一个新的数组。
2. 使用 array_combine() 函数将新数组中的值作为键,原数组中的值作为值,重新生成一个二维数组。
下面是示例代码:
```php
// 原始二维数组
$originalArray = array(
array('id' => 1, 'name' => '张三'),
array('id' => 2, 'name' => '李四'),
array('id' => 3, 'name' => '王五')
);
// 使用 array_column() 函数提取出 id 作为新数组
$idArray = array_column($originalArray, 'id');
// 使用 array_combine() 函数重新定义键
$newArray = array_combine($idArray, $originalArray);
// 输出重新定义键后的二维数组
print_r($newArray);
```
输出结果如下:
```
Array
(
[1] => Array
(
[id] => 1
[name] => 张三
)
[2] => Array
(
[id] => 2
[name] => 李四
)
[3] => Array
(
[id] => 3
[name] => 王五
)
)
```
注意:在实际使用中,你需要根据自己的实际情况来修改示例代码中的变量名和键名。