За последние 24 часа нас посетили 20657 программистов и 1113 роботов. Сейчас ищут 403 программиста ...

Помогите с кодом начинающему..

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

  1. mutaborxxx

    mutaborxxx Новичок

    С нами с:
    18 фев 2018
    Сообщения:
    5
    Симпатии:
    1
    Всем привет! Я недавно изучаю PHP, поэтому простите за глупый вопрос(если он глупый). Есть задачка.
    Дано
    $a=5;
    $b=6;
    $c=(один из этих знаков "+", "-", "*", "/" );
    Вопрос как написать код чтобы $result= выдавал результат вычисления $a и $b в зависимости от знака.
    Я пробовал $result=$a.$c.$b;
    выводит к примеру 5+6 а не 11 как мне надо.
    Спасибо заранее.
     
  2. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    подумай
     
  3. mutaborxxx

    mutaborxxx Новичок

    С нами с:
    18 фев 2018
    Сообщения:
    5
    Симпатии:
    1
    Я уже два дня думаю. Дай хотя бы намек.
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.734
    Симпатии:
    1.315
    Адрес:
    Лень
    PHP:
    1. switch ( $c )
    2. {
    3.     case '+':
    4.         echo ( $a + $b );
    5.     break;
    6.     case '-':
    7.         echo ( $a - $b );
    8.     break;
    9. }
     
    Рихард нравится это.
  5. mutaborxxx

    mutaborxxx Новичок

    С нами с:
    18 фев 2018
    Сообщения:
    5
    Симпатии:
    1
    Боже мой как просто а я думал есть особый синтаксис, который автоматически будет подставлять значение переменной $c.
    Ясно, понял, сделаю так.
    Спасибо!
     
  6. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    "синтаксис" есть, но это тёмная, очень тёмная магия и с ней приходит зло.
     
  7. Taktreba

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

    С нами с:
    11 янв 2017
    Сообщения:
    543
    Симпатии:
    132
    о чем это вы, Сенсей...?
     
  8. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    eval же, но я тебе этого не говорил, если что.
     
  9. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
  10. Taktreba

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

    С нами с:
    11 янв 2017
    Сообщения:
    543
    Симпатии:
    132
  11. mutaborxxx

    mutaborxxx Новичок

    С нами с:
    18 фев 2018
    Сообщения:
    5
    Симпатии:
    1
    Помогите разобраться в чем проблема. По задумке программа должна находить все числа в строке и производить арифметические действия,
    но она после первого вычисления останавливается.
    PHP:
    1. <?php
    2. //Калькулятор
    3.  
    4. $input = '25+1=';
    5. $inputLenght = mb_strlen($input);  //количество симфолов в строке
    6. $number = 0;
    7. $result = 0;
    8. $op = "";
    9. //---------------------------------------//перебираем все символы в строке
    10. for ($i = 0; $i < $inputLenght; $i++) {
    11.     $char = mb_substr($input, $i, 1);     //получаем символ
    12.  
    13.     if (is_numeric($char)) {               //если это цифра получаем число
    14.         $number = $number * 10 + intval($char);
    15.     }
    16.     if ($char == '+' || $char == '-' || $char == '*' || $char == '/') {
    17.  
    18.         $op = $char;
    19.         echo "Цифра $number </br>";
    20.         echo"Операция $op </br>";
    21.         if ($op == '+') {
    22.             $result = $result + $number;
    23.             echo"Результат $result </br>";
    24.            
    25.         }
    26.         if ($op == '-') {
    27.             $result = $result - $number;
    28.             echo"Результат $result </br>";
    29.            
    30.         }
    31.         if ($op == '*') {
    32.             $result = $result * $number;
    33.             echo"Результат $result </br>";
    34.            
    35.         }
    36.         if ($op == '/') {
    37.             $result = $result / $number;
    38.             echo"Результат $result </br>";
    39.            
    40.         }
    41.     }
    42. }
    43. ?>
     
  12. mutaborxxx

    mutaborxxx Новичок

    С нами с:
    18 фев 2018
    Сообщения:
    5
    Симпатии:
    1
    Уже не надо, это было тупо. Переделал всё получилось.
     
    Рихард нравится это.