Heim  >  Artikel  >  Backend-Entwicklung  >  PHP ermittelt, ob es sich in einem Array befindet

PHP ermittelt, ob es sich in einem Array befindet

王林
王林Original
2023-05-07 16:05:08489Durchsuche

In PHP ist es eine sehr häufige Operation, um festzustellen, ob ein Wert in einem Array vorhanden ist. Normalerweise können wir die Funktion in_array verwenden, um Urteile zu fällen. Im tatsächlichen Entwicklungsprozess ist die Effizienz der Verwendung der Funktion in_array jedoch nicht optimal, da die Funktion in_array das gesamte Array durchlaufen muss. Wenn das Array größer ist, ist die Zeitkomplexität höher, was zu einer langsameren Programmausführung führt. Deshalb müssen wir effizientere Wege finden, dieses Problem zu lösen.

In diesem Artikel werden zwei effiziente Methoden vorgestellt, um festzustellen, ob ein Wert in einem Array vorhanden ist.

Methode 1: Verwenden Sie die Funktion array_key_exists

Die Funktion array_key_exists kann prüfen, ob ein Schlüssel im Array vorhanden ist, sodass wir den Wert, den wir finden müssen, als Schlüsselwert des Arrays verwenden können, wodurch eine sehr schnelle Abrufgeschwindigkeit erreicht werden kann. Das Folgende ist ein Beispielcode, der die Funktion array_key_exists verwendet, um zu bestimmen, ob ein Wert in einem Array vorhanden ist:

$my_array = array('apple', 'banana', 'orange', 'kiwi');

if (array_key_exists('banana', array_flip($my_array))) {
    echo 'The value exists in the array';
} else {
    echo 'The value does not exist in the array';
}

Codeanalyse:

  1. Verwenden Sie die Funktion array_flip, um den Wert im ursprünglichen Array in einen Schlüsselwert und das Original zu ändern Schlüsselwert in einen Wert umwandeln. Dies geschieht, weil die Funktion array_key_exists nur prüfen kann, ob ein Schlüssel im Array vorhanden ist, nicht jedoch, ob ein Wert im Array vorhanden ist.
  2. Übergeben Sie den Wert, den Sie suchen möchten, als Parameter der Funktion array_key_exists.
  3. Wenn „true“ zurückgegeben wird, bedeutet dies, dass der Wert im Array vorhanden ist; wenn „false“ zurückgegeben wird, bedeutet dies, dass er nicht existiert.

Der Vorteil der Verwendung der Funktion array_key_exists besteht darin, dass sie schnell ist. Der Nachteil besteht jedoch darin, dass nur überprüft werden kann, ob der Schlüssel im Array vorhanden ist. Daher ist sie nur für Situationen geeignet, in denen der zu überprüfende Wert er selbst ist ein Schlüsselwert im Array.

Methode 2: Verwenden Sie die isset-Funktion

isset-Funktion wird in PHP verwendet, um zu prüfen, ob eine Variable deklariert und ihr ein Wert zugewiesen wurde. Wenn wir prüfen, ob ein Wert in einem Array vorhanden ist, können wir mit der Funktion isset ermitteln, ob der angegebene Schlüsselwert im Array vorhanden ist. Zum Beispiel der folgende Beispielcode:

$my_array = array('apple', 'banana', 'orange', 'kiwi');

if (isset($my_array[array_search('banana', $my_array)])) {
    echo 'The value exists in the array';
} else {
    echo 'The value does not exist in the array';
}

Codeanalyse:

  1. Verwenden Sie die Funktion array_search, um den Schlüsselwert zu finden, der dem Wert entspricht, den Sie im Array suchen möchten.
  2. Übergeben Sie das Array und den Schlüsselwert als Parameter an die isset-Funktion.
  3. Wenn „true“ zurückgegeben wird, bedeutet dies, dass der Wert im Array vorhanden ist; wenn „false“ zurückgegeben wird, bedeutet dies, dass er nicht existiert.

Der Vorteil der Verwendung der isset-Funktion besteht darin, dass überprüft werden kann, ob der Wert im Array vorhanden ist. Der Nachteil besteht darin, dass es bei großen Arrays zu Leistungsengpässen kommt.

Fazit

Im eigentlichen Entwicklungsprozess muss je nach Situation die passende Methode ausgewählt werden. Wenn der zu überprüfende Wert bereits ein Schlüsselwert im Array ist, können Sie die Funktion array_key_exists verwenden. Wenn der zu überprüfende Wert kein Schlüsselwert ist, können Sie die Funktion isset verwenden. Unabhängig davon, welche Methode verwendet wird, sollte jedoch auf Leistungsprobleme geachtet werden, um einen ineffizienten Programmbetrieb aufgrund einer übermäßigen Array-Größe zu vermeiden.

Das obige ist der detaillierte Inhalt vonPHP ermittelt, ob es sich in einem Array befindet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn