0

有问题的代码:

<?php /*tests added by jason*/
    echo "<br />";
    echo "count = " . $this->countModules('showcase'); 
    echo "<br />";
    echo "hidebyview = " . $hideByView;
    echo "<br />";
    if($hidebyview == true) {
        echo "T";
    }
    else {
        echo "F";
    }
    echo "<br />";
    if ($this->countModules('showcase') && $hideByView == false) {
        echo "pass";
    }
    else {
        echo "fail";
    }
    echo "<br />";
?>

站点 1 输出 Apache/2.2.22 (Ubuntu) PHP 版本 5.3.10-1ubuntu3.7(一切正常):

count = 1
hidebyview = 
F
pass

站点 2 输出 Apache/2.2.13 (Win32) PHP/5.3.26 (东西坏了):

count = 1
hidebyview = 1
F
fail

我想这归结为评估“失败”的部分如何评估不同的答案?

4

1 回答 1

0

$hideByView == false!($hidebyview == true)由于强制转换和其他可能的自动转换,不(总是)等于。因此,您的调试信息并没有真正向您显示表达式的$hideByView == false计算结果。

于 2013-08-03T19:52:44.213 回答