澄清 PHP 如何处理 true 和 false 值

问题描述 投票:0回答:1

我想使用 true/false 结果在 PHP 中做其他事情。我对以下内容感到惊讶:

$falsevar = false;
$truevar = true;
echo "falsevar which I just set to false is".$falsevar; //displays true
echo "truevar which I just set to true is".$truevar; //displays 1

输出:

falsevar which I just set to false istruevar which I just set to true is1

我应该如何看待这个结果? 为什么 PHP 会将 false 回显为 true?

让我更加困惑的是,我的用例如下:

$prompt = "I would like a sandwich to eat";
$myarray = array("pizza", "hamburger", "hot dog");
$wantsItem = false;
foreach ($myarray as $needle) {
    if (strpos($prompt, $needle) != false) {
        echo "Match found: {$needle}\n";
$wantsItem = true;
    }
}
echo "wants item is".$wantsItem;

当我运行这个我认为应该返回 false 的命令时,根本没有任何回声。

falsevar which I just set to false istruevar which I just set to true is1value of wants item

有人可以向我解释一下 PHP 中 true 和 false 的行为吗? (请注意,我理解 true 和 false 不区分大小写,因此这不应该成为问题。)

感谢您的任何建议。

php boolean echo
1个回答
0
投票

使用 !== false 因为 0 等于 false

© www.soinside.com 2019 - 2024. All rights reserved.