2016-04-07 6 views
0

Ich bin ein neuer Entwickler, der in einem Unternehmen auf einer Website arbeitet. Ich verwende isset(), um zu überprüfen, ob etwas innerhalb einer Variablen gesetzt ist, von der ich weiß, dass sie einen Wert hat, aber sie gibt immer false zurück. Hier ist der Code:Isset() gibt false zurück, wenn es wahr sein sollte - Symfony PHP

$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']; 
} 

Es soll die if-Anweisungen geben, weil ich weiß, dass die $ price_with_sources Werte hat. Ich weiß nicht, warum es nicht funktioniert. Ich benutzen Var_dump den Wert des $ prices_with_sources vor den if-Anweisungen zu überprüfen, und dies ist die Ausgabe:

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

Wenn jemand eine hilfreichen Informationen hat, würde es sehr zu schätzen, danke!

+6

'isset ($ prices_with_source [1] [ 'discountedPrice'])' .... es ist eine verschachtelte Array –

+0

Sie haben eine verschachtelte Array Dort. – fantasticrice

+0

Index ist nicht ''discountedPrice'' – Torchify

Antwort

0

Accessing a two dimension array in php

aktualisiert, wenn Block:

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']; 
} 
+0

Danke, das behebt das Problem. Ich sehe jetzt, was der Fehler war! –