Задать вопрос
it_proger29
@it_proger29
Битрикс

Как перемешать один масив внутри другого?

Здравствуйте, есть несколько массивов.
Первый массив:
[3,4,5,6,7,8]
Второй массив:
[10,11,12]

Как второй массив перемешать внутри первого? Чтобы у первого порядок не изменился, но между ними рандомно разместились цифры из второго массива?
  • Вопрос задан
  • 60 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@StockholmSyndrome
$arr1 = [3,4,5,6,7,8];
$arr2 = [10,11,12];

function array_shuffle($a, $b) {
    $count = count($b);
    $indexes = array_rand($a, $count);
    $result = []; 
    for ($i = 0, $l = count($a); $i < $l; ++$i) {
        for ($j = 0; $j < $count; ++$j) {
            if ($indexes[$j] === $i) {
                $result[] = $b[$j]; 
                break;
            }
        }
        $result[] = $a[$i];
    }
    return $result;
}

print_r(array_shuffle($arr1, $arr2));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы