为什么这段代码有意义


Why does this code make sense?

这是代码

<p>We are going to flip a coin until we get three heads in a row!</p>
<?php
$headCount = 0;
$flipCount = 0;
while ($headCount < 3) {
    $flip = rand(0, 1);
    $flipCount ++;
    if ($flip) {
        $headCount ++;
        echo "<div class='"coin'">H</div>";
    } else {
        $headCount = 0;
        echo "<div class='"coin'">T</div>";
    }
}
echo "<p>It took {$flipCount} flips!</p>";
?>

我玩过Java,但现在我正在学习PHP。这里没有意义的部分是这个。

if ($flip) {
    $headCount ++;
    echo "<div class='"coin'">H</div>";
}

这里到底在检查什么?我怀疑它正在检查$flip是否属实。

这是这些语言中常见的简写。一旦你习惯了它,这似乎是自然的。

在这种情况下,

if ($flip)

相当于:

if ($flip == 1)

但 PHP 实际上只是检查一个"真实"值:true,不零,不"0""",不[],其他人将评估为true并通过if ($flip)测试。