Оглавление скрыть


Вы можете авторизоваться через ВКонтакте, Фейсбук и оставить комментарий


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

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

Функция array_fill_rand()

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?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(5010);
print_r($rand_array);

// Массив из 10 элементов, со случайными числами в диапазоне от -100 до 100
$rand_array array_fill_rand(10, -100100);
print_r($rand_array);

echo 
'</pre>';

?>

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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
)
Опубликовано: 06 марта 2012  ·  Автор: Томгрин  ·  3649 просмотров

Категория

ГлавнаяПрограммированиеPHPМассивыЗаполнить массив случайными числами (PHP)

Чтобы оставить комментарий нужно авторизоваться на сайте
или войти через ВКонтакте или Фейсбук

Войти через ФейсбукВойти через Твиттер

Комментарии

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

© 2010-2014 expange.ru
При полном или частичном копировании статей сайта, ссылка на источник обязательна.

Хотите узнать больше информации, пишите на: artem@expange.ru

Полезное онлайн  ·  Новости  ·  Изображения  ·  Статьи по датам

О проекте  ·  Правила пользования  ·  Представительства

Благодарности и пожелания