sicher get array-element ein Wert für definierte und Undefinierte Indizes
Ich bin müde des Schreibens ternäre Ausdrücke zur Bereinigung der Daten, Dinge wie:
$x = isset($array['idx']) ? $array['idx'] : null;
//and
$x = !empty($array['idx']) ? $array['idx'] : null;
Gibt es eine nativen Weg oder ZF-accessor/filter um array-element ein Wert für eine gegebene array ohne:
- deaktivieren
error_reporting
- ternären
isset
/empty
überprüfen - error-control-operator
@
- meine eigene Globale Funktion oder Anwendung accessor/filter
Etwas wie:
$x = get_if_set($array['idx']);
//or
$x = Zend_XXX($array, 'idx')
InformationsquelleAutor der Frage Alex | 2012-04-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Soweit brauchen Sie nur die NULL als "default" - Wert, können Sie Gebrauch machen von dem Fehler Unterdrückung Betreiber:
Es wird verhindert, dass Warnungen. Allerdings, wenn Sie erlauben möchten, andere default-Werte, können Sie Kapseln den Zugriff auf ein array-offset über den
ArrayAccess
Schnittstelle:Verwendung:
Demo: https://eval.in/80896
InformationsquelleAutor der Antwort hakre
PHP7 eingeführt, die null coalesce operator
??
. Angenommen, Sie sind glücklich genug, um ausgeführt werden, können Sie nur tun,InformationsquelleAutor der Antwort Yasammez
Deklarieren Sie die Variablen und geben Ihnen einige erste Wert.
nun, wenn Sie ein array $MeinArray, x und y Tasten, die extrahieren-Funktion überschreibt die ursprünglichen Werte (Sie können auch so konfigurieren, dass es nicht zu)
wenn keine Schlüssel vorhanden sind, werden die Anfangswerte für die Variablen bleiben. Es wird auch andere array-keys in den jeweiligen Variablen.
InformationsquelleAutor der Antwort Weltschmerz
Ich würde sagen, mit einer Hilfsfunktion interface mit dem array.
Diese Weise können Sie einen default-Wert anstelle von null, nach Ihren wünschen, die Sie nicht brauchen, um wieder den array als ein anderes Objekt, und Sie können auf Anfrage einen beliebigen Wert, wie tief geschachtelt werden, wie Sie wollen, ohne zu prüfen, das "Eltern" - arrays.
https://ideone.com/11jtzj
InformationsquelleAutor der Antwort Tschallacka