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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: псевдослучайность shuffle
 
 автор: tricket   (27.06.2007 в 18:16)   письмо автору
 
 

Ребят есть задача следующего характера есть процентное число от 1 до 100.
И нужно перемешать массив так чтобы для каждого числа БЫЛА УНИКАЛЬНАЯ ПЕРЕМЕШКА!
Возможно ли такое сделать... точность как в швецарских часах не нужна)
Всем спасибо кто спожет помочь заранее!

   
 
 автор: Unkind   (27.06.2007 в 18:50)   письмо автору
 
   для: tricket   (27.06.2007 в 18:16)
 

1. При чем тут проценты?
2. Вы сказали есть число, т.е. одно. Потом говорите для каждого числа, т.е. их много. Не понятно.
3. Сколько элементов в массиве? 100?

   
 
 автор: tricket   (27.06.2007 в 19:11)   письмо автору
 
   для: Unkind   (27.06.2007 в 18:50)
 

1) ну процентов 100
2) нет, число дано одно, лимитом от 1 до 100
3) элементов рэндумно.... не знаю сколько
но нужно чтоб например для числа 2 БЫЛА ОДНА И ТАЖЕ ПЕРЕМЕШКА для етого числа!!!

   
 
 автор: Unkind   (27.06.2007 в 19:46)   письмо автору
 
   для: tricket   (27.06.2007 в 19:11)
 

1) Ну если у Вас есть число "100", то это не повод связывать его с процентами.
2) -
3) Это невозможно. Если, например, будет 3 элемента, то кол-во всех уникальных перестановок равно 6. Тут никак 100 уникальных "перемешек" не будет.

   
 
 автор: tricket   (27.06.2007 в 20:04)   письмо автору
 
   для: Unkind   (27.06.2007 в 19:46)
 

ну я же сказал швецарская точность не нужна)
нужно чтобы была перемешка и одинакавая для одного числа, которое в пределах от 1 до 100

   
 
 автор: Unkind   (27.06.2007 в 20:14)   письмо автору
 
   для: tricket   (27.06.2007 в 20:04)
 

Вы, по-моему, все усложняете. Ну получите все перестановки, запихните в массив и каждому индексу массива будет всегда соответствовать одна и та же перестановка.

   
 
 автор: tricket   (27.06.2007 в 23:05)   письмо автору
 
   для: Unkind   (27.06.2007 в 20:14)
 

твою последнюю мысль я не понимаю... можешь поподробней)

   
 
 автор: Unkind   (28.06.2007 в 12:41)   письмо автору
 
   для: tricket   (27.06.2007 в 23:05)
 

Я Вас тоже не понимаю. Вы хотите получить все перестановки (читай "перемешки")? И говорите что-то про числа, которые должны соответствовать им. Тогда почему именно "100"?

Я предлагаю

<?php
$permutations 
= array(
"ABC",
"ACB",
"BAC",
"BCA",
"CAB",
"CBA"
);

echo(
$permutations[0]); //Числу "0" теперь будет соответствовать "ABC"
echo($permutations[1]); //Числу "1" теперь будет соответствовать "ACB"
?>

   
 
 автор: tricket   (28.06.2007 в 17:02)   письмо автору
 
   для: Unkind   (28.06.2007 в 12:41)
 

Видать я плохо выразился...
Есть массив в котором куча ссылок...
И дальше на сайте 100 статей! у каждой статьи text.php?id=1 text.php?id=2 text.php?id=3 ... text.php?id=100
Вот... И нужно чтоб внизу статей ссылки были, но так чтобы например загрузил страницу номер два(id=2) увидел ссылки, сделал рефрэш(обновление) второй страницы(id=2) получил ссылки на нех же местах что и на статической странице!
Пошёл на другую страницу сайта(id=3) увидел ссылки но уже в другом порядке! Рэфрэшнул её всё также, зашел в другой браузер посмотреть эту страницу ссылки стоят также... Теперь идея понятна? желательно куки не использовать... тоесть делать привязку перемешивания ссылок к определённому id.

   
 
 автор: Trianon   (28.06.2007 в 17:33)   письмо автору
 
   для: tricket   (28.06.2007 в 17:02)
 

а при чем тут перемешивание вообще?
Вы же нигде ничего не мешаете. Вообще в описании нет на одного привносящего случайность элемента.

   
 
 автор: tricket   (28.06.2007 в 17:41)   письмо автору
 
   для: Trianon   (28.06.2007 в 17:33)
 


<?
$permutations 
= array(
"ABC",
"ACB",
"BAC",
"BCA",
"CAB",
"CBA"
); 
shuffle($permutations);
print_r($permutations);
?>

Результаты кода http://home.stalxed.com/test.php
выполни тогда код)
увидешь каждый раз новый порядок! а нужно чтоб для определённой страницы($id) он был(порядок свой!!!)...

   
 
 автор: Trianon   (28.06.2007 в 17:46)   письмо автору
 
   для: tricket   (28.06.2007 в 17:41)
 

>увидешь каждый раз новый порядок!
вовсе необязательно каждый раз. Тут уж как фишка ляжет.

>а нужно чтоб для определённой страницы($id) он был(порядок свой!!!)...
так не применяйте shuffle. И порядок будет каждый раз один.

   
 
 автор: tricket   (28.06.2007 в 17:53)   письмо автору
 
   для: Trianon   (28.06.2007 в 17:46)
 

ну я хочу сделать перемешивание но чтоб оно было для каждой страницы своё :( это нереально? я уже все варианты обдумал...блин ничего не лезет в голову...

   
 
 автор: Unkind   (28.06.2007 в 17:59)   письмо автору
 
   для: tricket   (28.06.2007 в 17:53)
 

На каждой новой странице создавайте массив с определенным порядком элементов.
И все дела.

   
 
 автор: tricket   (28.06.2007 в 18:15)   письмо автору
 
   для: Unkind   (28.06.2007 в 17:59)
 

есть данные с БД мускула, которые всё время одинаковые и нужно чтобы на разных страницах они были разные, как по вашему сделать определённый порядок?!?!?!

   
 
 автор: Unkind   (28.06.2007 в 18:19)   письмо автору
 
   для: tricket   (28.06.2007 в 18:15)
 

Тогда составляйте массив с идентификаторами этих записей и после выводите в том порядке, в каком они стоят в массиве.

   
Rambler's Top100
вверх

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