PHP: ein Array drängen, die nicht oder nicht existieren
-
20-08-2019 - |
Frage
Ich möchte ein Array mit einer Nachricht erstellen.
$myArray = array('my message');
Aber diesen Code verwenden, wird myArray
überschrieben, wenn es bereits existierte.
Wenn ich array_push
verwenden, muss es bereits vorhanden sein.
$myArray = array(); // <-- has to be declared first.
array_push($myArray, 'my message');
Ansonsten wird es Bink.
Gibt es eine Möglichkeit das zweite Beispiel oben Arbeit zu machen, ohne zuerst Clearing $myArray = array();
?
Lösung
Überprüfen Sie, ob das Array zuerst vorhanden ist, und wenn sie es nicht schaffen wird ... dann das Element hinzufügen, wohl wissend, dass das Array wird sicherlich vor der Hand definiert werden:
if (!isset($myArray)) {
$myArray = array();
}
array_push($myArray, 'my message');
Andere Tipps
Hier:
$myArray[] = 'my message';
$ arr hat ein Array oder nicht gesetzt sein. Wenn es einen Wert hält, die ein String, Integer oder Objekt, das nicht Arrayaccess nicht implementiert, wird es scheitern.
Sie sollten verwenden is_array (), nicht isset. Nützlich, wenn myArray wird aus einer Funktion eingestellt, die ein Array zurückgibt oder eine Zeichenfolge (-1 bei einem Fehler zum Beispiel)
Dies wird Fehler vermeiden, wenn myArray als nicht ein Array irgendwo anders deklariert wird.
if(is_array($myArray))
{
array_push($myArray,'my message');
}
else
{
$myArray = array("my message");
}
if ($myArray) {
array_push($myArray, 'my message');
}
else {
$myArray = array('my message');
}
OIS‘Art und Weise funktioniert.
oder
if (!isset($myArray))
$myArray=array();
array_push($myArray, 'message');