【发布时间】:2014-02-22 21:05:15
【问题描述】:
PHP/5.5.6
谁能给我解释一下,为什么如果我将一个变量分配为一个字符串,然后将所述字符串转换为一个 int,然后将它与一个字符串的原始值进行比较,那么下面的情况会返回一个 true 吗?
arrayOfValues 是一个整数数组,例如 -1、0、0、2、1...等
function getScore($arrayOfValues){
$result = 'N/A';
foreach($arrayOfValues as $item){
if($item > 0) { $result = 0; break;}
}
echo $result; // outputs 0
if($result == 'N/A') { return -1; } //code here passes. WHY?
echo $result; // outputs never makes it
// CODE DOES based upon values calculate score
return $result;
}
在类中调用所述函数具有以下内容
echo $foo->getScore($array); // outputs -1
如果我将函数中的逻辑更改为 $result = -1 并且检查为 $result
【问题讨论】:
标签: php