Verwenden von isset oder array_key_exists, um das Vorhandensein eines Array-Elements zu überprüfen
Wenn Sie das Vorhandensein eines Array-Elements feststellen möchten, können Sie entweder isset verwenden Sprachkonstrukt oder die Funktion array_key_exists.
isset
Dieser Ansatz ist möglicherweise effizienter, da es sich nicht um eine Funktion handelt. Es kann jedoch false zurückgeben, wenn das Element existiert, aber den Wert NULL hat.
Betrachten Sie das folgende Array:
<code class="php">$a = array( 123 => 'glop', 456 => null, );</code>
Verwenden von isset, um auf Elementexistenz zu testen:
<code class="php">var_dump(isset($a[123])); // true var_dump(isset($a[456])); // false var_dump(isset($a[789])); // false</code>
array_key_exists
Im Gegensatz dazu bewertet array_key_exists ausschließlich das Vorhandensein des Schlüssels, unabhängig von seinem Wert.
Verwendung von array_key_exists mit demselben Array:
<code class="php">var_dump(array_key_exists(123, $a)); // true var_dump(array_key_exists(456, $a)); // true var_dump(array_key_exists(789, $a)); // false</code>
Den richtigen Ansatz wählen
Für Szenarien, in denen das Element garantiert einen Wert ungleich NULL hat, kann isset aufgrund seiner Effizienz vorzuziehen sein. Andernfalls ist array_key_exists möglicherweise besser geeignet.
In Ihrem speziellen Beispiel können Sie Ihren Code wie folgt mit isset:
<code class="php">if (!isset(self::$instances[$instanceKey])) { $instances[$instanceKey] = $theInstance; }</code>
Das obige ist der detaillierte Inhalt vonWelches PHP-Konstrukt eignet sich besser zum Überprüfen der Existenz von Array-Elementen: isset oder array_key_exists?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!