У меня есть следующий код для выбора элементов $n
из массива $array
в PHP:
shuffle($array);
$result = array_splice($array, 0, $n);
Учитывая большой массив, но только несколько элементов (например, 5
из 10000
), это относительно медленно, поэтому я хотел бы оптимизировать его таким образом, чтобы не все элементы были перетасованы. Значения должны быть уникальными.
Я ищу наиболее эффективную альтернативу. Мы можем предположить, что $array
не имеет дубликатов и 0
-индекс.