2016-04-25 25 views
0
Arbeiten

Ich habe ein Array wie:PHP Array Echo Nicht

[meta] => Array (
    [company] => Company, LLC 
    [confirmation] => 6391381 
    [reference] => None 
    [service] => Service 
    [timestamp] => 2016-04-25 11:12:54 
    [user] => company 
) 
[result] => Array (
    [action] => REVIEW 
    [detail] => TRANSACTION REQUIRES FURTHER ATTENTION 
    [issues] => Array (
     [0] => DOB CHECK FAILED 
    ) 
) 
[output] => Array () 

Ich versuche, die 'Aktion' Wert wie folgt zu echo:

$json_result = json_decode($result, true); 
echo "$json_result[result]['action']"; 

Aber anstatt sich 'REVIEW' Ich bin bekommen: 'Array['action']'

Irgendwelche Gedanken?

+4

'echo $ json_result [ 'Ergebnis'] [ 'action'];'? –

+0

@jon, wenn ich es so versuche, erhalte ich den folgenden Fehler: Parse-Fehler: Syntaxfehler, unerwartete '' (T_ENCAPSED_AND_WHITESPACE), erwartet Identifier (T_STRING) oder Variable (T_VARIABLE) oder Nummer (T_NUM_STRING) –

+2

Das Codebeispiel, das ich gab nicht diesen Fehler oder irgendeinen Fehler unter der Annahme, dass Ihre Frage richtig ist. Du hast es falsch benutzt. –

Antwort

0

Um alle Array

print_r($json_result); 

Um nur Aktion

echo $json_result['result']['action']; 
+0

Wenn ich es so versuche, bekomme ich den folgenden Fehler: Parse-Fehler: Syntaxfehler, unerwartete '' (T_ENCAPSED_AND_WHITESPACE), erwartet Identifier (T_STRING) oder Variable (T_VARIABLE) oder Nummer (T_NUM_STRING) –

+0

@TomCanfarotta Wenn Sie die bekommen T_ENCAPSED UND WHITESPACE ist nicht, weil Sie immer noch doppelte Anführungszeichen haben, die die ganze Sache umgeben, wie 'echo' $ json_result ['result'] ['action'] ";' Beachten Sie, dass das obige Beispiel sie nicht hat. –

1

Sie verpassen die Apostrophe aus dem ersten Index bewertet:

$json_result[result]['action']; 

Es sollte wie folgt aussehen:

$json_result['result']['action']; 
      ^ ^

Edit: Sie regelmäßig PHP-Syntax Array-Werte anzusprechen, wenn Sie den gesamten Ausdruck in geschweiften Klammern setzen können ({):

echo "This is the result: {$json_result['result']['action']};" 

... oder einfach die doppelten Anführungszeichen entfernen (") von echo.

Mehr Infos hier: php echo

2

Arrays innerhalb Strings führt in den Wahnsinn. oder zumindest schreckliche Frustration.

wie Jon Stirling darauf hingewiesen hat, warum in Ihrem Fall sogar die Variable in ein Doppelzitat setzen?

echo $json_result['result']['action']; 

funktioniert gut. Wenn Sie müssen ein Array in einem String verwenden, entkommen sie mit geschweiften Klammern

echo "{$json_result['result']['action']}";