是否可以使用文字key=>value对作为关联数组的前缀?我知道array_unshift()可以与数字键一起使用,但我希望能与文字键一起使用。
作为一个例子,我想做以下事情:
$array1 = array('fruit3'=>'apple', 'fruit4'=>'orange');
$array2 = array('fruit1'=>'cherry', 'fruit2'=>'blueberry');
// prepend magic
$resulting_array = ('fruit1'=>'cherry',
'fruit2'=>'blueberry',
'fruit3'=>'apple',
'fruit4'=>'orange');
发布于 2009-09-02 17:29:36
你就不能这样做:
$resulting_array = $array2 + $array1;
发布于 2015-03-23 18:47:54
答案是否定的。不能在关联数组前面加上键-值对。
但是,您可以使用并集运算符+
创建一个新数组,该数组在数组开头包含新的键值对。结果是一个全新的数组,创建新数组的复杂度为O(n)。
语法如下。
$new_array = array('new_key' => 'value') + $original_array;
注意:不要使用array_merge()。array_merge()覆盖键并且不保留数字键。
发布于 2012-08-25 17:52:00
在您的情况下,您希望使用array_merge():
array_merge(array('fruit1'=>'cherry', 'fruit2'=>'blueberry'), array('fruit3'=>'apple', 'fruit4'=>'orange'));
若要为关联数组预先添加单个值,请再次使用array_merge(),而不是array_unshift():
array_merge(array($key => $value), $myarray);
https://stackoverflow.com/questions/1371016
复制相似问题