Как создать элемент массива sh для указания позиции c в другом массиве, используя php - PullRequest
2 голосов
/ 27 января 2020

Я хочу добавить sh новый массив в другой массив в указанной позиции c. Для этого я использовал array_splice, следуя некоторым ссылкам на stackoverflow, но у меня это не сработало

Я также ссылался на эти ссылки но они упоминаются только для одного значения, а не для массива.

Как вставить элемент в массивы в указанной позиции c?

Вставить новый элемент в массив на любая позиция в PHP

Example:

$array_1 = array(1,2,3,4,5);

$array_2 = array(a,b,c);

Теперь я хочу указать sh $array_2 значения в $array_1 в определенной позиции, например:

a at position 1

b at position 3

c at position 4

Ожидаемый результат :

$final_array=(1,a,2,b,c,3,4,5);

1 Ответ

3 голосов
/ 27 января 2020

Вам необходимо определить positions как массив и объединить его с array_2. Теперь переберите этот объединенный массив и используйте код первого ссылочного потока:

<?php

$array_1 = array(1,2,3,4,5);
$array_2 = array('a','b','c');

//define positions array
$positions = array(1,3,4);

//combine position array with $array_2
$positionArray = array_combine($positions, $array_2);

//iterate over combined array
foreach($positionArray as $key => $value){
    //use code of first example thread
    array_splice($array_1, $key, 0, $value);
    //here $key is position where you want to insert
}

print_r($array_1);

Вывод: https://3v4l.org/Djar2

...