在特定位置添加元素并移动现有元素
在特定位置添加元素并移动现有元素
你好,我有一个键值数组。键是数字索引,值是关联数组。我想在特定位置添加新元素,并将现有元素向前移动。我的数组看起来像这样:
Array
(
[0] => Array
(
[States] => States
[Call Count] => Call Count
[Leads] => Leads
)
[1] => Array
(
[States] => AK
[Call Count] => 0
[Leads] =>
)
[2] => Array
(
[States] => AL
[Call Count] => 0
[Leads] =>
)
[3] => Array
(
[States] => AR
[Call Count] => 0
[Leads] =>
)
)
现在,我想插入一个索引,如2=>array('States'=>'ABC','Call Count' =>5, 'Leads'=>2),并希望索引2变为3,索引3变为4...... 当我使用以下代码时:
array_slice($outboundSummaryData, 0, 2, true) +
array('States ' => 'States', 'Call Count' => 'Call Count', 'Leads' => 'Leads') +
array_slice($outboundSummaryData, 2, count($outboundSummaryData) - 2, true);
它覆盖了我的索引2。
当我使用以下代码时:
array_splice($outboundSummaryData, 2, 0, array('States ' => 'States', 'Call Count' => 'Call Count', 'Leads' => 'Leads'));
它将我的新数组元素插入数组的主要索引位置。
有什么帮助吗?
问题的出现原因:需要在指定位置添加一个元素并移动现有的元素。
解决方法:使用array_merge函数和array_slice函数来实现。
首先,使用array_slice函数将原数组$outboundSummaryData分割为两部分:从索引0开始,长度为2的子数组和从索引2开始到数组末尾的子数组。
然后,使用array函数创建一个包含要添加的元素的数组。该元素是一个关联数组,包含三个键值对:States,Call Count和Leads。
接下来,使用array_merge函数将第一部分子数组、添加的元素和第二部分子数组合并成一个新的数组$new_array。
最后,将$new_array输出。输出结果是一个数组,包含了原数组中的元素,并在索引2的位置插入了添加的元素。