-2

当我打印出整数(1 或 0)时,所有迭代(在这种情况下有 3 个)都会打印出正确的数字。第一个和第二个返回 1,最后一个返回 0。但是,'if' 语句似乎无论如何都显示了其中的所有内容。我究竟做错了什么?

下面的所有代码都在一个更大的“for”循环中。

$yn = 0;

if(!in_array($pos, $blocks)){
    $blocks[$x] = $pos;
    $x++;
    $yn = 1;
}
print_r($blocks);

print "YN: ".$yn; # this prints out 1, 1 and 0 on the last iteration

if(yn){
        # show some stuff (is displayed in all three iterations, but it shouldn't be on the last)
}
4

1 回答 1

4

尝试:

if($yn){

PHP 被解释yn为一个字符串,而不是你应该使用的变量。

于 2012-07-23T17:00:32.030 回答