Ich habe eine Wand getroffen und ich bin mir nicht sicher, was das verursacht. Ich analysiere eine JSON-Datei und erstelle Variablen. Alle, die nicht in Arrays verschachtelt sind, funktionieren großartig. Diese zwei unten sind jedoch nicht und ich bin mir nicht sicher warum. $ hail var Wert zeigt sowohl für den Hagel als auch für die $ wind var und ich bin völlig verwirrt, warum.PHP - Parsing geschachtelte JSON-Array-Werte
Hier ist ein Ausschnitt des Codes, um die Variable aus dem Wert zu erstellen.
$hail = isset($currFeature['properties']['parameters']['hailSize'][0]);
$wind = isset($currFeature['properties']['parameters']['windGust'][0]);
Hier ist, wie es ausgegeben wird und in dem HTML angezeigt, die es zeigt aber zeigt $ Hagel für beide var.
<div class="alerts-description"> HAZARDS<br /><? if (isset($hail)) {echo $hail . '" Hail';} ?><br /> <? if (isset($wind)) {echo $wind . '" MPH Winds';} ?></div>
Beispiel für Array sowohl als hailSize und Windböen unter Parameter verschachtelt und beide [0]
[response] => Avoid
[parameters] => Array
(
[hailSize] => Array
(
[0] => 0.50
)
[windGust] => Array
(
[0] => 70
)
[VTEC] => Array
(
[0] => /O.NEW.KFWD.FA.W.0008.170813T1318Z-170813T1615Z/
)
[EAS-ORG] => Array
(
[0] => WXR
)
Irgendwelche Vorschläge, was ich falsch mache oder fehle?
EDIT: Link zum Beispiel Code einfach auf den "Run it" Button“
http://rextester.com/EELE62798
-Danke
Welche Version von PHP verwenden Sie? – ryantxr
Was ist Ihre Ausgabe für $ Hagel und $ Wind? In Anbetracht der Tatsache, dass Sie 'isset()' in der Variablenzuweisung verwenden (zusätzlich zur Bedingung), sollten Sie nur eine 'true/false'-Ausgabe von Ihrem' echo $ hail' und 'echo $ wind' erhalten. –
PHP 7 @OsbsidianAge das ist ein sehr guter Punkt und fangen, die zu dieser Frage von früher aus genau diesem Grund führen. https://stackoverflow.com/questions/45743860/php-isset-vs-empty?noredirect=1#comment78453243_45743860 – Texan78