Isset() возвращает ложь, хотя должно быть правдой - Symfony PHP

Я новый разработчик, работаю в компании над сайтом. Я использую 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 для проверки значения $prices_with_sources перед операторами if, и это результат:

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

Если у кого-то есть полезная информация, буду очень признателен, спасибо!


person Jessy Doyle    schedule 07.04.2016    source источник
comment
isset($prices_with_source[1]['discountedPrice']).... это вложенный массив   -  person Mark Baker    schedule 07.04.2016
comment
У вас есть вложенный массив.   -  person fantasticrice    schedule 07.04.2016
comment
Индекс не 'discountedPrice'   -  person Torchify    schedule 07.04.2016
comment
Вы всегда можете использовать $row = current($prices_with_source);, если знаете, что у вас есть только один элемент в коллекции.   -  person ash    schedule 07.04.2016
comment
@Torchify, есть два условия if.   -  person Murad Hasan    schedule 07.04.2016
comment
Ах, хорошо, я понимаю, в чем проблема, Конок также дал мне обновленный код. Спасибо всем!   -  person Jessy Doyle    schedule 07.04.2016
comment
Спасибо за ответы, теперь все прояснилось.   -  person Jessy Doyle    schedule 19.04.2016


Ответы (1)


Доступ к двумерному массиву в 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'];
}
person Murad Hasan    schedule 07.04.2016
comment
Спасибо, это устранило проблему. Теперь я вижу, в чем была ошибка! - person Jessy Doyle; 07.04.2016