Неопределенная переменная в PHP в этом математическом коде - PullRequest
0 голосов
/ 11 июля 2020

пожалуйста, помогите мне этот код, когда я нажимаю кнопку, он показывает

Notice: Undefined variable: result in C:\xampp\htdocs\tinhtong_luatoantu.php on line 47
<?php 
    $nhapso1 = isset($_GET['so1']) ? $_GET['so1'] : '-1';
    $nhapso2 = isset($_GET['so2']) ? $_GET['so2'] : '-1';
    $pheptinh = $_GET['toantu'];
    if ($nhapso1 < 0 || $nhapso2 < 0) {
        echo 'Vui lòng nhập vào toán hạng & chọn toán tử';
    }
    else {
        switch($pheptinh) {
            case '------':
                echo 'Vui lòng nhập vào toán hạng & chọn toán tử';
                break;
            case '+':
                $result = $nhapso1 + $nhapso2;
                break;
            case '-':
                $result = $nhapso1 - $nhapso2;
                break;
            case '*':
                $result = $nhapso1 * $nhapso2;
                break;
            case '/':
                $result = $nhapso1 / $nhapso2;
                break;
            default:
                echo '';
                break;
        }
        echo round($result, 2);
    }
?>

Ответы [ 2 ]

0 голосов
/ 11 июля 2020

В случаях переключения, когда ваш аргумент не соответствует заданному значению, он запускает регистр по умолчанию. В вашем коде при запуске варианта по умолчанию нет объявленной переменной $ result, которую вы повторяете в конце кода. Вы должны установить значение по умолчанию для $ result либо в начале кода, либо в регистре по умолчанию. Проще говоря, компилятор PHP не запускает коды, которые имеют место в случае сбоя. Таким образом, при выполнении оператора по умолчанию в случае переключения $ result не выполняется.

0 голосов
/ 11 июля 2020

Это потому, что если выполняется первый случай оператора switch, вы не определяете переменную $ result , и то же самое с случаем по умолчанию . Чтобы избежать этого, вы можете инициализировать переменную результата значением по умолчанию (скажем, 0) до того, как начнется выполнение оператора switch

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...