просто нужно объяснение - PullRequest
1 голос
/ 22 апреля 2020

В следующем коде без == 0 результат показывает неправильный ответ (A - нечетное число). и с == 0 результат показывает правильный ответ. Мне нужно знать объяснение.

    <?php
$A = 78;

if ($A % 2 == 0) {
    echo "A is a even number";
} else {
    echo "A is an odd number";
}
;

Ответы [ 2 ]

1 голос
/ 22 апреля 2020

Без "== 0", т. Е.

if($A % 2)

оценивается как 0, становится

if(0)

, так как это ложно, если выполняется другое, то "A нечетное номер».

0 голосов
/ 22 апреля 2020

Число 0 оценивается как ложное в PHP. В этом случае $ A% 0 равно 0.

В этом контексте:

if ($A%0) //this is false, because it is 0 and 0 is evaluated as false

С другой стороны, A% 2 == 0 совпадает с (0 == 0) и это истинное утверждение.

Другие вещи, которые оцениваются как ложные, включают, но не ограничиваются: нуль, пустой массив, пустая строка, объект без переменных.

...