За последние 24 часа нас посетили 67686 программистов и 5339 роботов. Сейчас ищут 2465 программистов ...

Помогите, как организовать

Тема в разделе "PHP для новичков", создана пользователем Yexicam, 16 июн 2018.

  1. Yexicam

    Yexicam Новичок

    С нами с:
    16 июн 2018
    Сообщения:
    2
    Симпатии:
    0
    Уважаемые, программисты, огромная просьба помочь с таким решением.
    Нужно:
    1. Сгенерировать рандомное число в диапазоне от 10 до 220;
    2. Поместить полученное число в переменную;
    3. Умножить полученное число на 12;
    4. Вставить рандомное число с п.1 и полученное в п.3

    <div id="random">Рандомное число с п.1</div>

    <div id="result">Результат полученный в п.3</div>

    Буду очень признателен за помощь.
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    а че сам?
     
  3. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
  4. Yexicam

    Yexicam Новичок

    С нами с:
    16 июн 2018
    Сообщения:
    2
    Симпатии:
    0
    Так не работает

    PHP:
    1. <?php
    2.       $basik = rand(10,220);
    3.       $bonus = 12;
    4.       $result = $basik * $bonus;
    5.       echo $result, " ", "баллов" <br/>;
    6.       echo $basik, " ",  "начислено";
    7.   ?>
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    да вроде норм
    что не так?
     
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.843
    Симпатии:
    1.338
    Адрес:
    Лень
    5 строка ошибка
     
  7. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    и 6 тоже
     
  8. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.843
    Симпатии:
    1.338
    Адрес:
    Лень
    нет
     
  9. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.199
    Симпатии:
    183
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    А, точно, да.
    просто нужно засунуть внутрь кавычек
    PHP:
    1.  echo $result, " баллов <br/>";
     
  11. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    А я думал через запятую нельзя точки всегда ставлю.
     
  12. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.862
    Симпатии:
    657
    @nospiou, через запятую предпочтительнее.
     
  13. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Вывод чего то в коде это в любом случаи страшно. А в реальной жизни будет как то так
    <?= $a ?> или {{ $a }}
     
  14. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.862
    Симпатии:
    657
    Не суть. Это применимо и тут, например:
    PHP:
    1. <?= $a,' / ',$b ?>
    Чтобы не делать конкатенацию, не городить лишние php-вставки.
     
  15. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.897
    Симпатии:
    718
    PHP:
    1. <?php
    2.  
    3. $foo = 'foo';
    4.  
    5. $start = microtime(true);
    6. for ($i = 0; $i < 1000000; $i++) {
    7.     echo 'b' . $foo . 'a' . $foo . 'r';
    8.     echo "\r";
    9. }
    10. $time = microtime(true) - $start;
    11. echo ".: $time".PHP_EOL;
    12.  
    13. $start = microtime(true);
    14. for ($i = 0; $i < 1000000; $i++) {
    15.     echo 'b' , $foo , 'a' , $foo , 'r';
    16.     echo "\r";
    17. }
    18. $time = microtime(true) - $start;
    19. echo ",: $time".PHP_EOL;
    20.  
    21. $start = microtime(true);
    22. for ($i = 0; $i < 1000000; $i++) {
    23.     echo "b{$foo}a{$foo}r";
    24.     echo "\r";
    25. }
    26. $time = microtime(true) - $start;
    27. echo "\": $time".PHP_EOL;
    Код (Text):
    1. .: 4.1232860088348
    2. ,: 7.2631950378418
    3. ": 3.7787539958954
    Двойные кавычки как обычно побеждают ))
     
  16. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    вроде всегда запятые побеждали
     
  17. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.897
    Симпатии:
    718
    точно не скажу, но с какой-то 5.* двойные кавычки специально заоптимизировали и они стали быстрее всех остальных способов, хз зачем, но удобно )
     
  18. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Я где то в доке видел когда смотрел там было объяснение по проще
    Если нужно что то вроде
    echo 1, true ? 2 : 3, 4; тогда запятые рулят
    Без них придется в скобках писать
    echo 1 . (true ? 2 : 3) . 4;
     
  19. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.862
    Симпатии:
    657
    @romach, о кавычках вроде речи не было. Они обычно сравниваются с одинарными плюс конкатенацией.

    Результаты 1-2 заинтересовали. Вы-то сами на какой версии их получили?
     
  20. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.897
    Симпатии:
    718
    7.1 / ubuntu

    У меня сейчас нет под рукой машинки с зоопарком версий, но я давненько делал тест и там видно, что в какой-то момент контрибьюторы их значительно ускорили. В исходниках пыха копаться лень, но в целом выходит что для 7.* двойные кавычки предпочтительнее при прочих равных. Хотя, задачи где это реально даст хотя бы немного прироста - редки, потому пофиг )
     
    #20 romach, 17 июн 2018
    Последнее редактирование: 17 июн 2018
    miketomlin нравится это.