Wie konvertiert man die NULL-Werte in einen leeren String im PHP-Array?

8

Ich möchte dieses Array konvertieren, das Array [4] nicht null geben sollte, es kann Leerzeichen geben (leere Zeichenfolge).

%Vor%

(Der Grund für die Änderung, unabhängig von der allgemeinen Frage)

%Vor%     
XMen 28.01.2011, 11:47
quelle

7 Antworten

12

Dann sollten Sie einfach Array-Elemente durchlaufen, jeden Wert auf Null prüfen und durch eine leere Zeichenfolge ersetzen. So ähnlich:

%Vor%

Sie können auch die Prüffunktion implementieren und array_map () function     

Kel 28.01.2011, 11:54
quelle
17

PHP 5.3 +

%Vor%     
MythThrazz 24.04.2013 08:43
quelle
3

Dadurch wird das Array einem neuen Array zugeordnet, das den Null-Ternäroperator verwendet, um entweder einen ursprünglichen Wert des Arrays aufzunehmen, oder eine leere Zeichenfolge, wenn dieser Wert null ist.

%Vor%     
hexiecode 29.07.2015 11:26
quelle
1
%Vor%     
ayush 28.01.2011 11:52
quelle
1

Sie können dies stattdessen verwenden.

%Vor%     
rrCKrr 19.05.2017 20:25
quelle
1

Hier ist ein Online-Trick, den ich in den obigen Antworten nicht erwähnt habe:

%Vor%

Dies ist super praktisch für das Laden von $_GET -Parametern, um die Dinge kurz und lesbar zu halten. Bonus, Sie können strval() durch trim() ... oder mit intval() ersetzen, wenn Sie nur ganze Zahlen akzeptieren.

Der Standardwert für intval ist 0 , wenn er fehlt oder ein nicht numerischer Wert. Der Standardwert für strval ist "" , wenn leer, null oder falsch.

%Vor%

Siehe DEMO

Nun müssen Sie für ein Array immer noch jeden Wert durchlaufen und festlegen. Aber es ist sehr lesenswert, IMO:

%Vor%

Hier ist das Ergebnis:

%Vor%

Interessant ist, dass true zu "1" wird, aber 'true' bleibt eine Zeichenkette und diese false wird zu einer leeren Zeichenkette "" .

Nun erzeugen dieselben Daten, die $arr[$key] = intval($value); verwenden, dieses Ergebnis:

%Vor%
    
TrophyGeek 27.07.2017 19:29
quelle
0

Verwenden Sie diese Funktion. Dies ersetzt auch die leere Zeichenfolge im geschachtelten Array.

%Vor%

Ausgabe wird sein:

%Vor%

Versuchen Sie es hier online: Ссылка

    
Vivek Pipaliya 08.07.2016 11:58
quelle

Tags und Links