PHP: Zuweisen wenn nicht leer?
Gibt es eine Art weisen-wenn-nicht-leer-sonst-zuordnen-null-Funktion in PHP?
Ich bin auf der Suche für eine saubere alternative zu dem folgenden:
$variable = (!empty($item)) ? $item : NULL;
Wäre es auch praktisch, wenn ich könnte geben Sie den default-Wert; zum Beispiel, manchmal möchte ich '' anstelle von NULL.
Ich könnte schreiben, dass meine eigene Funktion, aber gibt es eine native Lösung?
Dank!
EDIT: Es sollte erwähnt werden, dass ich versuche zu vermeiden, eine Benachrichtigung für nicht definierte Werte.
Kommentar zu dem Problem - Öffnen
!empty($Element) && ($variable = $item);
@Delta: Was passiert mit dem default-Wert dann?
@Delta, das funktioniert nicht, es wird nicht initialisieren
$variable
wenn $item
ist leer. InformationsquelleAutor der Frage Peter | 2011-01-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Re edit: leider beide generieren, Hinweise auf Undefinierte Variablen. Sie könnten Zähler, der mit
@
, denke ich.In PHP 5.3 können Sie dies tun:
Oder Sie können dies tun, (als meagar sagt):
Ansonsten Nein, es gibt keinen anderen Weg.
InformationsquelleAutor der Antwort BoltClock
Update
PHP 7 fügt ein neues feature, um diese zu bewältigen.
Ursprüngliche Antwort
Ich landete genau Sie eine Funktion erstellen, um das problem zu lösen:
Beachten Sie, dass $item ist durch Verweis übergeben auf die Funktion.
Beispiel:
InformationsquelleAutor der Antwort Peter
Nun ja, es ist eine native Lösung für die Vergabe der Wert oder NULL, wenn die variable war nicht gesetzt:
Wenn Sie nur wollen, zu unterdrücken, dem Hinweis (was nicht lösen, nichts oder macht den code sauberer), gibt es auch eine native syntax für die.
InformationsquelleAutor der Antwort mario
Ich würde nicht empfehlen, diese auf einem Produktivsystem, sondern:
InformationsquelleAutor der Antwort Dennis Kreminsky