Заполнить массив случайными числами (PHP)

В PHP нет стандартной функции для генерации массива случайными числами. Самый простой способ написать функцию array array_fill_rand(int limit, [ min, max]), которая принимает в качестве параметров: int limit — количество элементов массива и два необязательных параметра int min и int max — минимальное и максимальное значение элемента массива.

Функция array_fill_rand()

Напишем функцию array_fill_rand() и приведем пример использования.

<?php /** * Функция генерирует массив заполненный случайными числами * @param int limit - количество элементов массива * @param int min - минимальное значение элемента массива * @param int max - максимальное значение * @return array */ function array_fill_rand($limit, $min=false, $max=false) { $limit = (int)$limit; $array = array(); if ($min !== false && $max !== false) { $min = (int)$min; $max = (int)$max; for ($i=0; $i<$limit; $i++) { $array[$i] = rand($min, $max); } } else { for ($i=0; $i<$limit; $i++) { $array[$i] = rand(); } } return $array; } echo '<pre>'; // Массив из 5 элементов $rand_array = array_fill_rand(5); print_r($rand_array); // Массив из 10 элементов $rand_array = array_fill_rand(10); print_r($rand_array); // Массив из 5 элементов, со случайными числами в диапазоне от 0 до 10 $rand_array = array_fill_rand(5, 0, 10); print_r($rand_array); // Массив из 10 элементов, со случайными числами в диапазоне от -100 до 100 $rand_array = array_fill_rand(10, -100, 100); print_r($rand_array); echo '</pre>'; ?>

В результате на экране появится 4 массива заполненные случайными числами, например:

Array ( [0] => 12563 [1] => 24400 [2] => 9545 [3] => 20046 [4] => 19311 ) Array ( [0] => 8316 [1] => 19717 [2] => 346 [3] => 12171 [4] => 18536 [5] => 13441 [6] => 22822 [7] => 14695 [8] => 788 [9] => 6077 ) Array ( [0] => 8 [1] => 0 [2] => 5 [3] => 9 [4] => 8 ) Array ( [0] => 73 [1] => -49 [2] => -98 [3] => 83 [4] => -73 [5] => -57 [6] => 0 [7] => 37 [8] => 16 [9] => 40 )

Категории

ПрограммированиеPHPМассивы в PHPМассивы

Читайте также

Комментарии

Борис Иванов

Автору статьи ставлю Like!.
Описано все предельно ясно; без "лишней воды" так сказать. Несмотря на то что я начал изучать php совсем недавно все что описано выше мне понятно и функцию эту я нахожу очень полезной и простой в понимании.
Спасибо что выложил статью и тем самым поделился опытом. Так что мне теперь понятно как реализовать рандомное заполнение значений элементов массива, да еще и с ограничением допустимых мин и мах значений.

Ответить