我想在PHP中的给定索引处插入一个数组。
例如。
Array
(
[0] => Array
(
[music_id] => 2
[m_title] => Rolling In The Deep
[m_cover_image] =>
[m_file_path] => Rolling_In_The_Deep_Music_File_-1523020121.mp3
[m_description] =>
[m_artist_id] => Adele
[m_genre_id] =>
[m_post_date] => 2018-04-06 18:08:41
[m_is_deleted] => NO
)
[1] => Array
(
[music_id] => 1
[m_title] => Hello
[m_cover_image] =>
[m_file_path] => Hello_Music_File_-1523020071.mp3
[m_description] =>
[m_artist_id] => Adele
[m_genre_id] =>
[m_post_date] => 2018-04-06 18:07:51
[m_is_deleted] => NO
)
)
数组2
Array
(
[0] => Array
(
[m_title] => Sponser 1
[m_file_path] => Sponser_1_Music_File_-1523020307.mp3
[m_is_deleted] => NO
)
)
我想选择一个索引来插入我的数组2.数组1应该为指定索引处的数组2腾出空间。指定索引后的数组1中的内容应向下移动以腾出空间。
我搜索了相关的功能,例如 array_slice()和 array_splice(),但我无法根据我的要求制作结果。
期待您的回答。谢谢
答案 0 :(得分:0)
$array1 = array(array('pos1', 1),array('pos2', 2), array('pos3', 3));
$array2 = array(2=>array('newpos3', 3));
$pos=0;
foreach($array2 as $k=>$v) {
foreach($array1 as $kA=>$vA) {
if ($k==$kA) {
$pos = $k;
}
}
array_splice($array1, $pos, 0, array($v));
}
echo '<pre>';
print_r($array1);
echo '</pre>';
像这样的东西。遍历两个数组并检查正确的位置。然后使用array_splice();
插入它