Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:test==当他不应该返回false时返回false_Php_Symfony_Symfony 2.2 - Fatal编程技术网

PHP:test==当他不应该返回false时返回false

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

我和symfony2一起工作,我真的不明白这会发生什么。 我有一个==测试,当他应该返回true时,他不会返回true!在该foreach的第一次迭代中,测试答案的=='一次为真,但在第一次foreach迭代后,他没有找到另一个匹配项。。。我尝试了很多var_转储,var_转储说:$service->getId()是int(24),而$discountsID是int(24),但是==测试不是真的

所以帮帮我,我对php很在行,我真的不明白那里发生了什么

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,
。这可能是错误的。上帝啊!!!!!!非常感谢你。多亏了你,我才明白我的问题。哈哈哈哈,没有错!谢谢