我正在使用symfony2,我真的不明白这是怎么回事。 我有一个==测试,在他应该的时候没有返回true!在那个foreach的第一次迭代中,==的测试答案一次是真的,但是在第一次foreach迭代后他没有找到其他匹配...我尝试了很多var_dump,var_dump说:$ service-> getId()是int(24),$ discountsID是int(24),但== test不是真。
所以请帮助我,我是非常聪明的用户,我真的不知道那里发生了什么..
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,
);
}
答案 0 :(得分:2)
您可能还希望在for中包含一个条件,以终止达到if条件的循环。许多人不喜欢休息(我也不喜欢),但这样可行:
if( $service->getId() == $discountsID[$i] ){ //the fail test..
$bool = $discounts[$i]->getId();
break;
}
答案 1 :(得分:0)
在测试之上,添加:
var_dump($service->getId());
var_dump($discountsID[$i]);
die();
看看结果是否匹配
这对我来说似乎不对:
foreach ($services as $service) {
$service->getId()
$services
包含哪些内容?