Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP添加到数组的开头,无需重新排序_Php_Arrays_Indexing_Add - Fatal编程技术网

PHP添加到数组的开头,无需重新排序

PHP添加到数组的开头,无需重新排序,php,arrays,indexing,add,Php,Arrays,Indexing,Add,我试着寻找我的问题的答案,但我找不到一个不重新排序数字索引的答案 有没有一种方法可以将字符串添加到数组的开头,而无需对键(数字键)重新排序,也无需使用循环 谢谢 编辑: 我会尽力解释这个场景。(我正在使用CodeIgniter) 我的应用程序中使用了一个数组。该数组还用于创建下拉列表,并以我所拥有的形式验证这些下拉列表值。我想做的是在数组的开头插入一个空白值,这样我的下拉列表就有一个默认选择的空白选项 所以从这个 1=>你好 2=>世界 到 ''=>'' 1=>你好 2=>World由于您不想更

我试着寻找我的问题的答案,但我找不到一个不重新排序数字索引的答案

有没有一种方法可以将字符串添加到数组的开头,而无需对键(数字键)重新排序,也无需使用循环

谢谢

编辑:

我会尽力解释这个场景。(我正在使用CodeIgniter)

我的应用程序中使用了一个数组。该数组还用于创建下拉列表,并以我所拥有的形式验证这些下拉列表值。我想做的是在数组的开头插入一个空白值,这样我的下拉列表就有一个默认选择的空白选项

所以从这个

1=>你好
2=>世界

''=>''
1=>你好

2=>World

由于您不想更改数值索引,我假设
数组\u unshift
将不起作用

因此,如果您知道索引,您可以这样做:

$x = array(1 => 1, 2 => 2, 3 => 3); 
$y = array(1101 => 123);
var_dump( $y + $x );

/* Output:
array(4) {
  [1101]=>
  int(123)
  [1]=>
  int(1)
  [2]=>
  int(2)
  [3]=>
  int(3)
}
*/
请注意,键现在确实位于数组前面,因此
foreach
可以正常工作

对编辑的答复:
我不知道你在说什么。任何输入/输出示例?新元素应该有什么索引?为什么需要此条件(不重新排列键)?如果仍然通过键访问元素,则顺序无关紧要。如果你对它们进行迭代,那么索引就无关紧要了。那你为什么需要它呢?也许有一个更好的策略适合你的情况。@BoltClock@Felix Kling@yoda-我在我最初的帖子中试着解释一下-谢谢这个方法的问题是如果你有冲突的键,它们会被覆盖。
$x = array(1 => "Hello", 2 => "Welt"); 
$y = array("" => "");

var_dump($y + $x);

/*
array(3) {
  [""]=>
  string(0) ""
  [1]=>
  string(5) "Hello"
  [2]=>
  string(4) "Welt"
}
*/