Задать вопрос
@apaicer

Что не так в коде?

Нужно написать функцию, в которую приходит 2 числа и оператор. и выполнить операцию между ними. Если оператор не +-*/ вывести ошибку; если одно из чисел не является числом то нулл.
$arr = ['+','-','*','/'];
$operator = $arr;

$operandOne = 6;
$operandTwo = 4;

function calculate($operandOne, $operandTwo, $operator) {
	if ($operandOne > 0){
		return null;
	}
	else if (!isset($operator)){
        return error;
	}
	else {
	$result = "$operandOne $operator[1] $operandTwo";
	}
}
 echo $result;

Я понимаю, что код не правильный, но в каком моменте? Видимо не могу уловить синтаксис.
  • Вопрос задан
  • 126 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
Sanovskiy
@Sanovskiy
Веб-разработчик с 2005 года
Всё не так.
function calculate($operandOne, $operandTwo, $operator)
{

    if (!is_numeric($operandOne) || !is_numeric($operandTwo)) {
        return null;
    }

    switch ($operator) {
        case '+':
            return $operandOne + $operandTwo;
        case '-':
            return $operandOne - $operandTwo;
        case '/':
            if ($operandTwo <= 0) {
                return null;
            }
            return $operandOne / $operandTwo;
        case '*':
            return $operandOne * $operandTwo;
        default:
            echo 'Допускаются только операторы + - / *';
            return null;
    }
}

$operandOne = 6;
$operandTwo = 4;

echo calculate($operandOne, $operandTwo, '+');

Вот рабочий код.
Вы, похоже, не понимаете что такое функции.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽