<?php function calculate ($a, $b, $action) { if ($action = '+') { $c = $a + $b; } else { $c = $a - $b; } return $c; } $a = 5; $b = 10; $action = '+'; echo calculate($a, $b, $action); ?> Задача: Сделать калькулятор. 3 входящих параметра: 1. Первое число, 2. Второе число, 3. Действие (плюс, минус, умножить, поделить). написала код, как я поняла. смотрела разные уроки в итоге вот этот код, но не могу добавить туда (* и /) по уроку должна добавить через elsif, пробовала, но код не работал. Либо написанный мной код вовсе не верный. Честно не особо поняла функции и как они работает.
PHP: <?php declare ( strict_types = 1 ); error_reporting ( E_ALL ); enum ArithmeticSymbols: string { case Plus = '+'; case Minus = '-'; case Multiply = '*'; case Divide = '/'; public function calculate( int $a, int $b ): string { return ( string ) match( $this ) { static :: Plus => $a + $b, static :: Minus => $a - $b, static :: Multiply => $a * $b, static :: Divide => $a / $b, }; } } function calculate( int $a, int $b, ArithmeticSymbols $action ) { return $action -> calculate( $a, $b ); } $a = 5; $b = 10; $action = ArithmeticSymbols :: Minus; // Plus / Minus / Multiply / Divide echo calculate( $a, $b, $action ); Самый современный код для 2024 года и точка. Контроль всего и вся. --- Добавлено --- А самый короткий калькулятор выглядит так: PHP: $a = 5; $b = 10; $action = '*'; eval ( "echo $a {$action} $b;" ); Но не то что не рекомендую, а запрещаю использовать где-либо eval. Это тоже самое что и открыть все двери квартиры и уехать в отпуск.
Код (Text): <?php $action = '/'; $a = 5; $b = 20; $actions = array('+' => 'bcadd', '-' => 'bcsub', '*' => 'bcmul', '/' => 'bcdiv'); echo $actions[$action]($a, $b, 8); ?>
PHP: $action = '-'; $a = 1.234; $b = 1; 0.23400000 PHP: $action = '-'; $a = 1.234; $b = 2; -0.76600000
Вот и посмотри что у тебя выходит. Типизацию включи для начала, вместо того чтобы сидеть в своем 2009 году.