2016-05-31 5 views
-3

Person 1 gibt Daten und das Datenfeld sieht wie folgt aus:Wie gebe ich JSON-Daten mit dynamischem Datenarray ein?

{ 
    "type": "1", 
    "name": "John", 
    "phone":"898171" 
} 

Person 2 das Telefon nicht eingestellt hat und das Datenfeld sieht wie folgt aus:

{ 
    "type": "1", 
    "name": "Lisa" 
} // only write 2 array... 

I Quellcode in meinem Controller haben wie folgt:

$data = json_decode(file_get_contents('php://input'), true); 

if(!$data['phone']->iSEmpty){ 
    echo "you haven't set the phone number!" 
} 

Aber das funktioniert nicht. Ich erhalte die folgende Fehlermeldung, wenn Person 2 die Dateneingänge -

"Undefined index: phone"

Antwort

1

Das Problem ist, dass Sie versuchen, einen Wert eines nicht definierten Schlüssel zu überprüfen.

könnten Sie array_key_exists verwenden, es zu überprüfen:

if (!array_key_exists('phone', $data)) { 
    echo "you haven't set the phone number!"; 
} 
+0

, bevor ich Ihren Kommentar zu lesen, ich versuche, wie diese array_key_exists ($ data [ 'Telefon']); ... haha ​​.. Danke .. Deine Lösung funktioniert !!! – Megandi

+0

Ich bin froh zu wissen, dass ich dir helfen kann! :) – Laerte

+0

Wenn es funktioniert, könnten Sie als richtige Antwort akzeptieren? Vielen Dank! – Laerte

0

versuchen

if(!isset($data['phone'])){ echo "you haven't set the phone number!" } 
+2

Warum sollte das OP das "ausprobieren"? Eine *** gute Antwort *** wird immer eine Erklärung haben, was getan wurde und warum es so gemacht wurde, nicht nur für das OP, sondern auch für zukünftige Besucher von SO. –

+0

Man kann viele Dinge ausprobieren ... Ich habe keine Zeit zu versuchen. Hast du es vor dem Posten versucht? –

+0

Danke für die Rückmeldung. Nächstes Mal werde ich eine Erklärung geben. –

Verwandte Themen