首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP前置带有文字键的关联数组?

PHP前置带有文字键的关联数组?
EN

Stack Overflow用户
提问于 2009-09-03 09:28:23
回答 4查看 64.2K关注 0票数 120

是否可以使用文字key=>value对作为关联数组的前缀?我知道array_unshift()可以与数字键一起使用,但我希望能与文字键一起使用。

作为一个例子,我想做以下事情:

代码语言:javascript
复制
$array1 = array('fruit3'=>'apple', 'fruit4'=>'orange');
$array2 = array('fruit1'=>'cherry', 'fruit2'=>'blueberry');

// prepend magic

$resulting_array = ('fruit1'=>'cherry', 
                    'fruit2'=>'blueberry', 
                    'fruit3'=>'apple', 
                    'fruit4'=>'orange');
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-09-03 01:29:36

你就不能这样做:

代码语言:javascript
复制
$resulting_array = $array2 + $array1;
票数 239
EN

Stack Overflow用户

发布于 2015-03-24 02:47:54

答案是否定的。不能在关联数组前面加上键-值对。

但是,您可以使用并集运算符+创建一个新数组,该数组在数组开头包含新的键值对。结果是一个全新的数组,创建新数组的复杂度为O(n)。

语法如下。

代码语言:javascript
复制
$new_array = array('new_key' => 'value') + $original_array;

注意:不要使用array_merge()。array_merge()覆盖键并且不保留数字键。

票数 35
EN

Stack Overflow用户

发布于 2012-08-26 01:52:00

在您的情况下,您希望使用array_merge():

代码语言:javascript
复制
array_merge(array('fruit1'=>'cherry', 'fruit2'=>'blueberry'), array('fruit3'=>'apple', 'fruit4'=>'orange'));

若要为关联数组预先添加单个值,请再次使用array_merge(),而不是array_unshift():

代码语言:javascript
复制
array_merge(array($key => $value), $myarray);
票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1371016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档