2012-04-07 7 views
3

Ich versuche, ein Array von Zeichenfolgen zurückzugeben. Ich tue dies:Wie Echo in PHP-Array verwendet werden, um als Zeichenfolge

$errors[] = toolbarCheckCreds($_COOKIE['uname'], $_COOKIE['pword'], $_COOKIE['rememberMe']); 
    echo $errors[0]; 

und diese in der Funktion am Ende:

return $errors; 

und ich setzen einen Fehler wie folgt aus:

$errors[] = "error goes here!"; 

Grundsätzlich, wenn ich meine Array zurück, und echo es, es gibt mir die folgende Ausgabe:

Antwort

3

Verwenden Sie PHP implode, um Ihr Array in eine Zeichenfolge umzuwandeln, die Sie wiedergeben können. Wenn Sie ein Echo für ein Array verwenden, wird nur der Datentyp angezeigt.

return implode(' ', $errors); 

Wenn Sie die Fehler mit einem Trennzeichen als ein Leerzeichen trennen wollen, nur den Raum im ersten Parameter ersetzen:

return implode(' :: ', $errors); 

Zum Beispiel, wenn Ihr Fehler Array drei Werte enthalten:

[ "Invalid data" , "404" , "Syntax error" ] 

dann die Zeichenfolge, wenn Sie die :: verwendet wird, würde so aussehen, wenn Sie echo auf das Ergebnis aus:

Invalid data :: 404 :: Syntax error 

Siehe die Referenzverbindung, die ich für ein anderes Beispiel einschloss.

+0

Wie würde ich meinen aktuellen Code ändern, um etwas wie Sie im zweiten Beispiel mit dem "::"? – droidus

+0

@droidus - Ich habe meine Antwort aktualisiert. – jmort253

4

Sie müssen Ihr Array durchlaufen. Es gibt mehrere Möglichkeiten, dies zu tun, wobei meine persönliche Präferenz eine foreach-Schleife verwendet.

Zum Beispiel wird dies jede Fehlermeldung auf einer neuen Zeile in dem Array echo:

foreach ($errors as $error) 
{ 
    echo "<br />Error: " . $error; 
} 
+1

Der Vorteil hier ist, dass Ihr Fehlerobjekt immer noch ein Array ist. +1 – jmort253

0

Sie können kein Array Inhalt Echo aus, wie sie ist.

Wenn Sie den Inhalt des Arrays überprüfen möchten, können Sie print_r() oder var_export() mit dem return Parameter auf True verwenden.

Verwandte Themen