我有一个包含3个值的数组:
$b = array('A','B','C');
这就是原始数组的样子:
数组([0] => A [1] => B [2] => C)
我想在第一个和第二个键之间的位置插入一个特定值(例如,字母“X”),然后将其后面的所有值都移动一个。所以实际上它将成为第二个值,第二个将成为第三个,第三个将成为第四个。
这就是数组之后的样子:
数组([0] => A [1] => X [2] => B [3] => C)
如何使用php在数组中的两个键之间插入一个值?
答案 0 :(得分:20)
array_splice()
是你的朋友:
$arr = array('A','B','C');
array_splice($arr, 1, 0, array('X'));
// $arr is now array('A','X','B','C')
此函数操作数组,通常用于截断数组。但是,如果您“告诉它”删除零项($length == 0
),则可以在指定的索引处插入一个或多个项目。
请注意,要插入的值必须在数组中传递。
答案 1 :(得分:2)
有一种方法可以不使用array_splice
。然而,它更简单,更脏。
这是你的代码:
$arr = array('A', 'B', 'C');
$arr['1.5'] = 'X'; // '1.5' should be a string
ksort($arr);
输出:
Array
(
[0] => A
[1] => B
[1.5] => X
[2] => C
)