2015-04-27 3 views
1

Какой лучший способ выбрать случайным образом выбрать 3 элемента из массива и использовать эти три элемента для замены еще 3 элементов в другом массиве. Я хотя об использованииPHP - выберите 3 случайных элемента в массиве и замените 3 элемента на эти 3 случайных элемента.

array_slice() 

Но я не уверен. Также мой второй массив будет отличаться каждый раз. Я просто включить пример ниже:

$array1 = array('A','A','A','A','A'); 
$array2 = array('C','A','A','E','D'); 
for($i = 0; $i < 3; $i++){ 


    $min = 0; 
    $max = 4; 
    $n = rand($min, $max); 

    $array1[$n] = $array2[$n]; 
} 
+0

Пожалуйста, добавьте пример до и после вы заменили элементы – Rizier123

+0

@ Rizier123 Done – Rob177

+0

Вы не хотите вручную устанавливать минимальный и максимальный размер, что редко бывает хорошей идеей, когда речь идет о динамическом контенте. Установите максимальный размер в длину элемента, с которым вы имеете дело. –

ответ

1

Этот код будет принимать 3 случайных элементов из первого массива и заменить 3 случайных элементов во втором массиве

<?php 

$array1 = array('A','A','A','A','A'); 
$array2 = array('C','A','A','E','D'); 

$max1 = count($array1); 
$max2 = count($array2); 



for($i=0;$i<3;$i++) { 
    $n1 = rand(0, $max1); 
    $n2 = rand(0, $max2); 

    $array2[$n2] = $array1[$n1]; 
} 
+0

Спасибо вам за ответ – Rob177