当它应该为真时,Isset()返回false - Symfony PHP

时间:2016-04-07 15:56:41

标签: php symfony if-statement isset

我是一名在网站上的公司工作的新开发人员。我正在使用isset()来检查是否在我知道具有值的变量中设置了某些内容,但它始终返回false。这是代码:

$prices_with_source = $user_company->getBranchApiImplementation()->getApiClass($controller,$apiDisabled)->getProductPrices($em, $partnership, array( array('product' => $product , 'quantity' => 1) ));
$prices_with_source = is_array($prices_with_source) ? reset($prices_with_source) : $prices_with_source;

if(isset($prices_with_source['discountedPrice']) && $prices_with_source['discountedPrice'] > 0) {
    $price = $prices_with_source['discountedPrice'];
}

if(isset($prices_with_source['suggestedPrice'])) {
    $price = $prices_with_source['suggestedPrice'];
}

应该输入if语句,因为我知道$ price_with_sources有值。我不知道为什么它不起作用。我使用var_dump在if语句之前检查$ prices_with_sources的值,这是输出:

array(1) {
    [1]=> array(3) {
        ["discountedPrice"]=> string(4) "5.99"
        ["suggestedPrice"]=> string(4) "5.99"
        ["source"]=> int(0)
    }
}

如果有人有任何有用的信息,我们将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:0)

Accessing a two dimension array in php

如果阻止

更新

if(isset($prices_with_source[1]['discountedPrice']) && $prices_with_source[1]['discountedPrice'] > 0) {
    $price = $prices_with_source[1]['discountedPrice'];
}

if(isset($prices_with_source[1]['suggestedPrice'])) {
    $price = $prices_with_source[1]['suggestedPrice'];
}