PHP:test==当他不应该返回false时返回false
我和symfony2一起工作,我真的不明白这会发生什么。 我有一个==测试,当他应该返回true时,他不会返回true!在该foreach的第一次迭代中,测试答案的=='一次为真,但在第一次foreach迭代后,他没有找到另一个匹配项。。。我尝试了很多var_转储,var_转储说:$service->getId()是int(24),而$discountsID是int(24),但是==测试不是真的 所以帮帮我,我对php很在行,我真的不明白那里发生了什么PHP:test==当他不应该返回false时返回false,php,symfony,symfony-2.2,Php,Symfony,Symfony 2.2,我和symfony2一起工作,我真的不明白这会发生什么。 我有一个==测试,当他应该返回true时,他不会返回true!在该foreach的第一次迭代中,测试答案的=='一次为真,但在第一次foreach迭代后,他没有找到另一个匹配项。。。我尝试了很多var_转储,var_转储说:$service->getId()是int(24),而$discountsID是int(24),但是==测试不是真的 所以帮帮我,我对php很在行,我真的不明白那里发生了什么 foreach ($services as
foreach ($services as $service) {
for ($i = 0; $i < count($discountsID); ++$i) {
if ($service->getId() == $discountsID[$i]) { //the fail test..
$bool = $discounts[$i]->getId();
} else {
$bool = -1;
}
}
$view_data['services'][] = array(
'discountId' => bool,
);
}
foreach($services as$service){
对于($i=0;$igetId()=$discountsID[$i]){//失败测试。。
$bool=$折扣[$i]->getId();
}否则{
$bool=-1;
}
}
$view_data['services'][]=数组(
“折扣”=>bool,
);
}
在测试上方添加以下内容:
var_dump($service->getId());
var_dump($discountsID[$i]);
die();
看看结果是否相符
这在我看来也是错误的:
foreach ($services as $service) {
$service->getId()
$services
由什么组成?您可能还希望在for中包含一个条件,在达到if条件时终止循环。许多人不喜欢休息(我也不喜欢),但这会起作用:
if( $service->getId() == $discountsID[$i] ){ //the fail test..
$bool = $discounts[$i]->getId();
break;
}
他什么时候不应该?你怎么知道PHP是男性的?你的数组是错误的;您正在将值设置为
bool
而不是$bool
我喜欢var\u dumb()
!!!它对循环中的任何变量都有效还是对每个人都无效?@phpNoOb不是每个人的第一语言都是英语。让他休息一下;这是一个编程网站,不是一个英语使用网站。是的,在我的项目中bool是$bool。我做了这些测试,我看到了匹配的答案。但是==返回false$服务是一些服务的列表$折扣是折扣的列表。一项服务可以有一个折扣。我想给这个数组那些折扣的ID(如果服务有一个),如果你看到了100%的匹配,那么if语句就不会错。如上所述,'discountId'=>bool,
应该是'discountId'=>$bool,
。这可能是错误的。上帝啊!!!!!!非常感谢你。多亏了你,我才明白我的问题。哈哈哈哈,没有错!谢谢