将元素插入数组[重复]
Posted
技术标签:
【中文标题】将元素插入数组[重复]【英文标题】:Insert element into array [duplicate] 【发布时间】:2013-10-24 05:09:27 【问题描述】:我有一个数组
array(1)
[0]=>
array(4)
[0]=>
string(1) "1"
[1]=>
string(2) "10"
[2]=>
string(3) "100"
[3]=>
string(3) "200"
我想在数组中插入两个元素,必须是第三个也是最后一个元素。
输出:
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) ""
我该怎么做?
我尝试过的
array_splice($input,3 ,0,"");
然后结果变成这样,中间没有添加数组
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) ""
【问题讨论】:
【参考方案1】:要插入到数组中间,可以使用array_splice,长度为0。
array_splice($input, 3, 0, "");
要添加到数组中,您可以使用array_push
或[] operator
【讨论】:
[]
运算符优先推送,因为您没有函数调用。
另一方面,array_push 允许通过单个调用附加多个元素:)
绝对正确,加上它返回新的大小,所以你不必在它上面调用count()
。始终取决于用例。 :)
但我的输出将被添加为数组(1)而不是数组的中间(0)
@user2210819 在您的情况下,您必须对 $input[0] 进行操作,因为 $input[0] 包含您要修改的数组。【参考方案2】:
通过使用array_splice,您可以在数组中插入元素
$array = [0 => 'Data', 1 => 'data2', 2=> 'data3'];
array_splice($array, 1, 0, 'data append');
var_dump($array);
【讨论】:
以上是关于将元素插入数组[重复]的主要内容,如果未能解决你的问题,请参考以下文章
#yyds干货盘点# LeetCode面试题:删除有序数组中的重复项
#yyds干货盘点# leetcode算法题: 删除有序数组中的重复项
#yyds干货盘点# LeetCode 腾讯精选练习 50 题:删除有序数组中的重复项