@Vahthere

Как сделать на PHP генерацию рандомного числа?

Нужно:
1. Сгенерировать рандомное число в диапазоне от 10 до 220;
2. Поместить полученное число в переменную;
3. Умножить полученное число на 12;
4. Вставить рандомное число с п.1 и полученное в п.3

Рандомное число с п.1

Результат полученный в п.3
Так не работает:
<?php
      $basik = rand(10,220);
      $bonus = 12;
      $result = $basik * $bonus;
      echo $result, " ", "баллов" <br/>;
      echo $basik, " ",  "начислено";
  ?>

<div id="random">   echo $result, " ", "баллов" <br/>;</div>

<div id="result">   echo $basik, " ",  "начислено";</div>
  • Вопрос задан
  • 4175 просмотров
Пригласить эксперта
Ответы на вопрос 3
@eternalfire
<?php
      $basik = rand(10,220);
      $bonus = 12;
      $result = $basik * $bonus;
?>


<div id="random">"<?= $result ?>" баллов<br/></div>


<div id="result">"<?= $basik ?>" начислено</div>
Ответ написан
Комментировать
RomaZveR
@RomaZveR
CEO AlertMoney, PHP/Golang Developer
Код работы с числами верный, а вот вывод нет.
echo $result.' баллов<br/>';
echo $basik.' начислено';

+ Если вывод в шаблоне, то
<div id="random"><?=$result;?> баллов</div>
<div id="result"><?=$basik;?> начислено</div>
Ответ написан
Комментировать
@Yan-s
Во первых. Вы должны сказать что у вас не работает. Во вторых, при попытке выполнить код вы должны были получить сообщение об ошибке в котором указана строка и проблема.

Две ошибки:
1. В строке echo $result, " ", "баллов" <br/>; - Здесь <br/> должен быть внутри кавычек. Все строковые значения в PHP должны быть внутри кавычек.

2.
<div id="random">   echo $result, " ", "баллов" <br/>;</div>
Вы совершенно не различаете PHP и HTML. Чтобы сделать вставку PHP в HTML первый надо заключить в <?php ?>.

Другие косяки
- rand() - дает плохой рандом, имеет проблемы на разных платформах. Вместо нее следует использовать mt_rand() а для криптографически безопасных значений random_int()
- echo $basik, " ", "начислено"; излишне писать , " " вы можете прижать пробел к следующему значению echo $basik, " начислено"; - эквивалентно, но чище.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы