📜  使用PHP重置数组元素的键?

📅  最后修改于: 2022-05-13 02:24:09.529000             🧑  作者: Mango

使用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
)