在代码行4 $ flip = rand(0,1);这意味着$ flip正在获得0或1的随机数? 然后在第6行有if($ flip){... 但他们没有解释“if($ flip)”的意思或等同。 例如$ flip = 1或$ flip = 0.先谢谢你。
$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>";
答案 0 :(得分:1)
基本上在PHP中,表达式被计算为其布尔值。例如
if($flip) // means if(1) or if(0)
if (expr)
statement
0:被评估为布尔值FALSE
if($flip){
}
else {
// goes here
}
1:被评估为布尔值TRUE(非零)
if($flip){
// goes here
}
else {
}
如果第一个表达式的值为TRUE(非零),则进入if块
答案 1 :(得分:0)
等于0的变量表示false
,其他数字表示true
:
if(0) => false // you go in the else statement
if(1) => true
if(2) => true
等...
事实上,当你执行if($flip)
时,PHP执行的测试是if($flip != 0)
答案 2 :(得分:0)
你的第一个假设是正确的:
$flip = rand(0,1);
$flip
将等于0或1.例如:
$flip = rand(0,5);
将随机返回0到5之间的数字。
通常,如果您执行if
语句,则
if($example)
您正在测试该值是true还是false。 True也可以表示为1,false也可以表示为0。
因此,当$flip
等于0或1时,它等于true或false。因此,如果flip为true或1,则它将执行if语句中的代码。作为一个注释,你可以通过使用:
if(!$flip)
如果$flip
大于0,则有效地认为是真的,请参阅下面的示例:
$test = 0;
if($test) //This will be false and therefore echo It is false
{
echo "It is true";
}
else
{
echo "It is false";
}
$test2 = 5;
if($test2) //This will be true and therefore echo It is true
{
echo "It is true";
}
else
{
echo "It is false";
}
<强>更新强>
您可以认为以下内容实际上是相同的:
if($flip)
if($flip == 1 || $flip == true || $flip > 0)