将元素插入数组[重复]

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 题:删除有序数组中的重复项

插入排序

面试题 一个长度为100的数组,随机插入1-100,不重复,写出大致思路即可;

将对象数据插入数组PHP [重复]