使用PHP重置数组元素的键?
在PHP,两种类型的数组可能是索引数组和关联数组。在索引数组的情况下,元素是严格的整数索引,在关联数组的情况下,每个元素都有与之关联的相应键,并且只能使用这些键访问元素。
要使用整数索引访问关联数组的键和值,可以使用array_keys()和array_values()内置函数。
- array_keys()函数接受一个数组的输入,并从输入数组中返回只有键的索引数组。
- array_values()函数接受一个数组的输入,并从输入数组中返回仅包含值的索引数组。
现在,要重置数组元素的键,可以执行两个操作, key_swap()和key_change() 。由于这些不是内置函数,因此必须在代码中实现。
使用 key_swap()函数:该函数将输入一个数组和两个键,然后在另一个变量 ($val) 的帮助下交换与这两个键对应的值,并返回结果数组。
注意:如果数组中不存在两个键,则此函数将引发错误。
使用 key_change()函数:该函数将输入一个数组和两个键,一个旧键(已存在于数组中)和一个新键。该函数首先将旧键对应的值存储到第三个变量 ($val) 中,然后从数组中删除 (unset()) 旧键及其对应的值。然后将新键添加到数组中,将存储在第三个变量 ($val) 中的值分配给它,并返回结果数组。
注意:如果数组中不存在新键,则此函数将返回所需的输出,否则如果输入数组中存在新键,则新键的值将丢失,因为旧键的值将覆盖它。此外,如果旧键不存在于输入数组中,该函数将抛出错误。
程序: PHP程序,用于重置数组中数组元素的键。
1,
'one' => 2,
'two' => 0,
'test' => 3
);
// Print the sample array
echo "The Sample array: ";
print_r($arr);
// Swap the keys 'zero' and 'one'
$arr = key_swap($arr, 'zero', 'one');
// Swap the keys 'zero' and 'two'
$arr = key_swap($arr, 'zero', 'two');
// Change the key 'test' to 'three'
$arr = key_change($arr, 'test', 'three');
// Print the modified array
echo "The Modified array: ";
print_r($arr);
?>
输出:
The Sample array: Array
(
[zero] => 1
[one] => 2
[two] => 0
[test] => 3
)
The Modified array: Array
(
[zero] => 0
[one] => 1
[two] => 2
[three] => 3
)