Wie konvertiert man die null-Werte auf eine leere Zeichenfolge in php-array?
Ich will zu konvertieren, das array, das Array[4] sollte nicht null geben kann Leerzeichen (leer-string).
Array (
[0] => 1
[1] => 4
[2] => 0
[3] => V
[4] =>
[5] => N
);
(Der Grund für die Veränderung, die sich nicht auf die Allgemeine Frage)
Fatal error: Uncaught exception
'PDOException' with message 'Database
error [23000]: Column 'message' cannot
be null, driver error code is 1048' in
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dann sollten Sie einfach eine Schleife durch array-Elemente, überprüfen Sie jeden Wert für null und ersetzen Sie es mit einem leeren string. Sowas:
Können, können Sie auch umsetzen, prüfen die Funktion und die Anwendung array_map() Funktion.
PHP 5.3+
Wird dies anzeigen, dass das array ein neues array mit dem null-ternären operator, um entweder einen original-Wert von dem array, oder eine leere Zeichenkette wenn Wert null ist.
Können Sie diese stattdessen zu verwenden.
0 == NULL
istTRUE
auch. Hätte Identität (===
).Diese Funktion verwenden. Dies ersetzt null leere Zeichenfolge in geschachtelte array auch
Ausgabe :
Versuchen, online hier : https://3v4l.org/7uXTL
Hier ist ein online trick, den ich noch nicht gesehen in der obigen Antworten:
Dies ist super praktisch für
$_GET
parameter laden, um die Dinge kurz und lesbar. Bonus, können Sie ersetzen Siestrval()
mittrim()
... oder mitintval()
wenn Sie akzeptieren nur ganze zahlen.Standard für
intval
wird0
wenn Sie fehlt oder einen nicht-numerischen Wert. Die Standardeinstellung fürstrval
ist""
wenn leer, null oder false.Nun für ein array verwenden, werden Sie noch brauchen, um eine Schleife über jeden Wert, und legen Sie es. Aber es ist sehr gut lesbar, IMO:
Hier ist das Ergebnis:
Interessant ist, dass
true
wird "1", aber'true'
bleibt eine Zeichenfolge ist und dassfalse
wird und leere Zeichenfolge""
.Nun die gleichen Daten mit
$arr[$key] = intval($value);
produziert dieses Ergebnis:Gibt es noch bessere/kürzere/einfachere Lösung. Zusammenstellung von bereits gegebenen Antworten. Für die ersten Daten
mit
$Ergebnis werden
Sollte diese Arbeit auch in php4 🙂
Dieses Problem kann gelöst werden in einer Zeile mit:
hier $array_json_return ist das array.