просмотров:176753 | комметариев: 9
Случайный порядок чисел(без повторений).

Например, нужно получить ряд чисел от 1 до 10 в случайном порядке, так чтобы числа не повторялись. Например такой ряд: 6,1,8,7,2,4,5,9,3,10. Предлагаю такое решение:

$ar_rang = array(); $ar_rand = range(1, 10); shuffle($ar_rand);

Во второй строке функция range(low, high) возвращает массив целых чисел в диапазоне от значения low до high. Т.е. приводит массив к такому виду - $ar_rand равен Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 ).

В следующей строке функция shuffle() располагает элементы в массиве случайным образом. $ar_rand равен Array ( [0] => 5 [1] => 2 [2] => 7 [3] => 1 [4] => 9 [5] => 6 [6] => 10 [7] => 3 [8] => 4 [9] => 8 ).

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

foreach ($ar_rand as $val) echo ' ' . $val; // например 2 9 6 4 1 10 3 7 5 8
просмотров:176753 | комметариев: 9
Илья
03 ноября 2010, 16:55
Супер! то что нужно!)))
Просто гениальное решение) коротко и просто
Виталий
30 апреля 2011, 15:38
Отлично, то что надо, без повторений, а как все просто.

Автор спасибо.
Мунира
25 ноября 2011, 14:47
Супер
Vlad
13 Февраля 2014, 23:20
Объясните как оно "запоминает" те значения которые уже были?
Губарев Михаил
14 Февраля 2014, 08:11
Влад, как реализована функция shuffle я могу только догадываться. Это вопрос к разработчикам пхп.
Анастасия
22 сентября 2017, 12:18
Используйте новый вариант генератора случайных чисел для лотереи https://ultragenerator.com/randomnumbers/
Btogostila
15 мая 2018, 04:42
female viagra viagra samples generic viagra 100mg | https://viagrabestrx.com/# - buy cheap viagra
Aaronhen
16 мая 2018, 01:29
wh0cd507582 indocin valtrex trazodone
KennethKax
17 мая 2018, 22:48
wh0cd190110 [url=http://cialis18.us.org/]cialus[/url] [url=http://propecia365.us.org/]propecia[/url]
просмотров:176753 | комметариев: 9

Оставить комментарий:    

Ваше имя:
 
Текст комментария:
 
+ 1 =