Insert element into array
我有一个阵列
1 2 3 4 5 6 7 8 9 10 11 12 13
| array(1) {
[0]=>
array(4) {
[0]=>
string (1)"1"
[1]=>
string (2)"10"
[2]=>
string (3)"100"
[3]=>
string (3)"200"
}
} |
我想在数组中插入两个元素,这两个元素必须是第三个元素和最后一个元素。
输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| array(6) {
[0]=>
array(6) {
[0]=>
string (1)"1"
[1]=>
string (2)"10"
[2]=>
string (1)""
[3]=>
string (3)"100"
[4]=>
string (3)"200"
[5]=>
string (1)""
}
} |
号
我该怎么做?
我试过的
结果是这样的,数组没有添加到中间
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| array(6) {
[0]=>
array(6) {
[0]=>
string (1)"1"
[1]=>
string (2)"10"
[2]=>
string (1)""
[3]=>
string (3)"100"
[4]=>
string (3)"200"
[5]=>
string (1)""
}
[1]=>
array(1) {
[0]=>
string (1)""
}
} |
。
要插入到数组中间,可以使用长度为0的数组拼接。
array_splice($input, 3, 0,"");。
要添加到数组中,可以使用array_push或[] operator。
- 由于没有函数调用,因此最好使用[]运算符push。
- 另一方面,array_push允许在单个调用中附加多个元素:)
- 完全正确,加上它返回新的大小,所以您不必在它上面调用count()。总是取决于用例。:)
- 但我的输出将被添加为数组(1),而不是数组(0)的中间部分。
- @用户2210819在这种情况下,您必须对$input[0]进行操作,因为$input[0]包含要修改的数组。
- 可能是一个二维数组,所以当我添加foreach时,它就可以了。
通过使用数组拼接,可以在数组中插入元素
1 2 3
| $array = [0 => 'Data', 1 => 'data2', 2=> 'data3'];
array_splice($array, 1, 0, 'data append');
var_dump($array); |