📜  PHP程序在关联数组的开头添加项目

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

PHP程序在关联数组的开头添加项目

在PHP,关联数组是索引不需要像索引数组那样严格顺序的数组类型。通常在现有关联数组中添加一个新元素,它将被附加到该数组的末尾。

例子:

 1, 'two' => 2);
      
// New element
$arr['zero'] = 0;
      
// Final array
print_r($arr);
  
?>
输出:
Array
(
    [one] => 1
    [two] => 2
    [zero] => 0
)

因此,不能直接在关联数组的开头添加新元素,但可以将现有数组附加到新数组的末尾,其中第一个元素是新元素。
这意味着首先在开头添加新元素,新元素需要作为第一个元素放入空数组中,然后该数组需要与现有数组合并。在PHP,有两种方法可以合并数组,它们是 array_merge()函数和使用数组 union(+)运算符。

array_merge()函数的情况下,如果两个数组具有相同的键,则在结果数组中考虑与后面数组中的键对应的值。但是在索引数组的情况下,元素只是简单地被追加,并对结果数组中的所有元素进行重新索引。



句法:

array array_merge( $arr1, $arr2 )

数组 union(+)运算符的情况下,如果两个数组具有相同的键,则在结果数组中考虑与第一个数组中的键对应的值,这也适用于索引数组,如果两个数组具有公共索引的元素,则结果数组中只考虑第一个数组中的元素。

句法:

$arr3 = $arr1 + $arr2

程序: PHP程序,用于在关联数组的开头添加新项。

 1, 'two' => 2, 'three' => 3);
          
// New element to be added at 'zero' => 0
  
// Create an array using the new element
$temp = array('zero' => 0);
      
// Append the $temp in the beginning of $arr
      
// Using array union(+) operator
$arr2 = $temp + $arr;
      
echo "Result of array union(+) : ";
print_r($arr2);
      
// Using array_merge() function
$arr3 = array_merge($temp, $arr);
      
echo "\n" . "Result of array_merge() : ";
print_r($arr3);
  
?>
输出:
Result of array union(+) : Array
(
    [zero] => 0
    [one] => 1
    [two] => 2
    [three] => 3
)

Result of array_merge() : Array
(
    [zero] => 0
    [one] => 1
    [two] => 2
    [three] => 3
)