логическая печать - PullRequest
3 голосов
/ 08 июля 2011

Спасибо, что заглянули.

код

$variable = 10;
$variableOne = 10;

$result = $variable == $variableOne;
echo $result; 

Когда сравнение между $ variable и $ variableOne возвращает false, почему $ result не присвоен 0? Однако конечный результат - иначе, и $ result присваивается 1, когда сравнение возвращает true.

Спасибо за ваше время, PHP Новичок.

Ответы [ 3 ]

2 голосов
/ 08 июля 2011

$result назначается true или false. Это важно Это не 1 или 0, это true или false. Когда echo ing true, он выводится как 1. Когда echo ing false, он выводится как пустая строка. Попробуйте вместо этого var_dump($result), чтобы увидеть разницу.

См. http://www.php.net/manual/en/language.types.string.php#language.types.string.casting

0 голосов
/ 08 июля 2011

$ результат не является результатом выражения, но в вашем коде есть (недопустимое) назначение.

Синтаксис должен быть таким:

if($variable == $variableOne){
    $result = true;
} else {
    $result = false;
}

echo $result;
0 голосов
/ 08 июля 2011

Выполните var_dump($result); и убедитесь, что эта переменная является логической, потому что ей была назначена == оценка оператора, которая всегда логическая .

...