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

Форум PHP

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

 

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

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

тема: Шанс вывода
 
 автор: Bacek   (13.11.2009 в 17:04)   письмо автору
 
 

Здравствуйте .
Я новичок в Php , и хотел бы узнать можно ли как небуть сделать так:

<?php

$1="90% что будет выведено";
$
2="50% что будет выведено";
$
3="10% что будет выведено";

$
4тут выбор из 3 по %

echo $
4
?>

  Ответить  
 
 автор: Синигами   (13.11.2009 в 17:17)   письмо автору
 
   для: Bacek   (13.11.2009 в 17:04)
 

[поправлено модератором]

  Ответить  
 
 автор: Bacek   (13.11.2009 в 17:27)   письмо автору
 
   для: Синигами   (13.11.2009 в 17:17)
 

Хм мне надо чтобы вывод был по шансу в %
Например $1="dsd"; сделать чтобы у него был шанс вывода дальше например 10%
и так 3 значения и что то из 3 выводится в 4(зависит от % и как повезет )
Как рандом только с шансом ...

  Ответить  
 
 автор: sim5   (13.11.2009 в 17:23)   письмо автору
 
   для: Bacek   (13.11.2009 в 17:04)
 

Для начала - не давайте именам переменным в качестве первого их символа цифру, это крайне не нравится РНР, а также иным языкам.

  Ответить  
 
 автор: Саня   (13.11.2009 в 17:41)   письмо автору
 
   для: Bacek   (13.11.2009 в 17:04)
 

Генерируйте случайное число от 0 до 100 (функция mt_rand()). Если оно попало в промежуток от 0 до 90, то вывести значение первой переменной. Остальные переменные выводятся по аналогии.

  Ответить  
 
 автор: Bacek   (13.11.2009 в 18:14)   письмо автору
 
   для: Саня   (13.11.2009 в 17:41)
 

А можно пример ?

  Ответить  
 
 автор: Valick   (13.11.2009 в 20:21)   письмо автору
 
   для: Bacek   (13.11.2009 в 18:14)
 

Ваша задача подозрительно похожа на ранжир показа баннеров. А это уже далеко не то с чего нужно начинать изучение не только РНР, но и любого другого языка. И стоят такие скрипты не мало ;)

  Ответить  
 
 автор: Bacek   (13.11.2009 в 21:00)   письмо автору
 
   для: Bacek   (13.11.2009 в 18:14)
 

Все разобрался все было очень просто но до меня не доходило (


<?php

$e
="5%"
$a="90%"
$b="50%"
$c="10%"

$z=mt_rand (0100); 
if (
$z>=95
$d=$e;
if (
$z<=90
$d=$a
if (
$z<=50
$d=$b
if (
$z<=10
$d=$c

echo 
$d 

?>


  Ответить  
 
 автор: Valick   (13.11.2009 в 21:15)   письмо автору
 
   для: Bacek   (13.11.2009 в 21:00)
 

это бред, потому что шанс выпадения числа 5, точно такой же как и числа 86

  Ответить  
 
 автор: Саня   (13.11.2009 в 22:22)   письмо автору
 
   для: Valick   (13.11.2009 в 21:15)
 

Автору нужно посчитать вероятность выпадения одного из событий, а не всех сразу. Так что решение не бред.

  Ответить  
 
 автор: Valick   (14.11.2009 в 04:26)   письмо автору
 
   для: Саня   (13.11.2009 в 22:22)
 

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

  Ответить  
 
 автор: Bacek   (14.11.2009 в 11:03)   письмо автору
 
   для: Valick   (14.11.2009 в 04:26)
 

А как тогда можно это сделать по твойму ?

  Ответить  
 
 автор: Valick   (14.11.2009 в 12:19)   письмо автору
 
   для: Bacek   (14.11.2009 в 11:03)
 

как любил говаривать Б.Б.Кинг "лучшая импровизация - это хорошо подготовленная импровизация"
поэтому (если всё же речь о баннерах) нужно заранее расчитать порядок шанса выпадения и равномерно распределить меньшие шансы относительно больших, (что бы не получилось 5 меньших шансов подряд губо говоря)
Но Вы меня недостаточно внимательно читали, еще раз повторюсь - это сложная задача, а так как народ на этом форуме не дурак, то бесплатно на Вас работать никто не будет.

  Ответить  
Rambler's Top100
вверх

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