Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Помогите разобраться...

Сообщения:  [1-10]   [11-19] 

 
 автор: confirm   (12.03.2014 в 14:57)   письмо автору
 
   для: sasha12342   (12.03.2014 в 14:41)
 

И зачем тогда задаете вопросы? Чего вы еще хотите от rand()?

Если вам не нравится результат, то пишите алгоритм, по условиям которого должен выдаваться результат. Или заглубляйтесь в теорию вероятности.

Все ваше, это тоже самое, что и:

<?
$a 
= [0,1,2,3,4,5,6,7,8,9];
$m = [];

$part 5;
$len 5;


while(
$part) {
    
shuffle($a);
    
$m[] = implode(array_slice($a,0,$len));
    
$part--;
}

print_r($m);

  Ответить  
 
 автор: sasha12342   (12.03.2014 в 14:41)   письмо автору
 
   для: confirm   (12.03.2014 в 14:38)
 

когда результат нельзя предсказать.

  Ответить  
 
 автор: confirm   (12.03.2014 в 14:38)   письмо автору
 
   для: sasha12342   (12.03.2014 в 14:32)
 

А что по вашему случайность?

  Ответить  
 
 автор: sasha12342   (12.03.2014 в 14:32)   письмо автору
 
   для: confirm   (12.03.2014 в 14:02)
 

А что Вам мои квадратики так не понравились :-) ?
Выше я уже говорил:
Просто вывожу 5 случайных чисел (строк (могут быть просто слова)) из массива. 
Мне нужно просто вывести из массива 5 элементов. Это могут быть числа, буквы, слова, строка, квадратики и т.п.
Если вам нужна случайность, то вы ее и получаете, ибо то, что в итерациях M и N повторяется значение, это не означает, что это не случайность.
Как Вы думайте, это утверждение верно для вышеуказанного примера:
[1][3][2][9][10]
[7][5][8][10][3]
[7][1][5][9][6]
[1][3][2][9][10]
[7][5][8][10][3]
[7][1][5][9][6]
[1][3][2][9][10]
[7][5][8][10][3]
[7][1][5][9][6]

Можно запускать скрипт хоть 100027 раз, кроме этих значений вы ничего из массива не вытащите. Как вы думайте, это просто случайные совпадения или закономерность?

  Ответить  
 
 автор: confirm   (12.03.2014 в 14:02)   письмо автору
 
   для: sasha12342   (12.03.2014 в 13:57)
 

Можно получить из цифр 1 и 2 к примеру 126 случайных наборов? А почему нельзя?

Я вас спрашивал, что вы "лепите" и зачем у вас эти квадратики "[]"? Если вам нужна случайность, то вы ее и получаете, ибо то, что в итерациях M и N повторяется значение, это не означает, что это не случайность.

Если вам нужна уникальность, выбрасывайте непонятное для чего [] и сравнивайте цифры, а не строки, получить эти квадратики при выводе можно всегда, и по нужному алгоритму формируйте чего вам надо.

  Ответить  
 
 автор: sasha12342   (12.03.2014 в 13:57)   письмо автору
 
   для: confirm   (12.03.2014 в 13:39)
 

А может, каким-то образом привязать timestamp к алгоритму выборки, тогда, я думаю, получится действительно случайный выбор из массива.

  Ответить  
 
 автор: sasha12342   (12.03.2014 в 13:55)   письмо автору
 
   для: Jovidon   (12.03.2014 в 13:36)
 

Числа так-же повторяются, но с большем промежутком между ними...

  Ответить  
 
 автор: confirm   (12.03.2014 в 13:39)   письмо автору
 
   для: sasha12342   (12.03.2014 в 13:24)
 

У вас не числа, а строки, а rand(), это не случайность, а псевдослучайность. С таким же успехом можно обейтись и без rand(), используя shuffle().

  Ответить  
 
 автор: Jovidon   (12.03.2014 в 13:36)   письмо автору
 
   для: sasha12342   (12.03.2014 в 13:24)
 

<? $result rand(0,rand(2,rand(4,count($masiv)-1)));

  Ответить  
 
 автор: sasha12342   (12.03.2014 в 13:24)   письмо автору
 
   для: confirm   (12.03.2014 в 12:08)
 

Пока пытался изложить суть проблемы, сам в ней разобрался :-)
Но сейчас возник другой вопрос:
Вышеприведённом циклом, вывожу из массива 5 случайных (уникальных) чисел. Но "rand" как-то странно их выбирает, я бы сказал, что совсем не случайно...
Вот вывод 9 "случайных" чисел из массива "$masiv":
[1][3][2][9][10]
[7][5][8][10][3]
[7][1][5][9][6]
[1][3][2][9][10]
[7][5][8][10][3]
[7][1][5][9][6]
[1][3][2][9][10]
[7][5][8][10][3]
[7][1][5][9][6]
На случайность,как-то вообще непохоже...
Может есть другой способ случайного вывода элементов из массива?

  Ответить  

Сообщения:  [1-10]   [11-19] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования