Heim  >  Artikel  >  Backend-Entwicklung  >  So ermitteln Sie, ob sich ein Wert in einem Array in PHP befindet

So ermitteln Sie, ob sich ein Wert in einem Array in PHP befindet

PHPz
PHPzOriginal
2023-04-25 09:05:12436Durchsuche

Bei der PHP-Programmierung ist es oft notwendig, festzustellen, ob sich ein bestimmter Wert in einem Array befindet. Dies kann normalerweise mit der Funktion in_array() erreicht werden. Manchmal müssen wir jedoch feststellen, ob ein Wert nicht im Array enthalten ist. Wie machen wir das?

In diesem Artikel stellen wir drei häufig verwendete Methoden vor, um festzustellen, ob ein Wert nicht in einem Array enthalten ist, sowie deren Vor- und Nachteile sowie anwendbare Szenarien. Schauen wir uns zunächst an, wie die Funktion in_array() verwendet wird:

in_array($needle, $haystack);

wobei $needle den zu findenden Wert und $haystack das zu durchsuchende Array darstellt. Wenn sich $needle in $haystack befindet, gibt die Funktion „true“ zurück; andernfalls gibt sie „false“ zurück.

Um dann festzustellen, ob sich ein Wert nicht im Array befindet, müssen Sie nur eine Negationsoperation vor dem Ergebnis der Funktion in_array() hinzufügen, wie unten gezeigt:

!in_array($needle, $haystack);

Auf diese Weise können Sie feststellen, ob $needle ist nicht in $haystack . Diese Methode hat jedoch einen Nachteil: Wenn sich $needle in $haystack befindet, gibt die Funktion immer noch false zurück und das Ergebnis muss erneut invertiert werden, um die richtige Antwort zu erhalten.

Die obige Methode kann auch in der folgenden Form umgeschrieben werden:

array_search($needle, $haystack) === false;

Die Funktion array_search() wird verwendet, um einen Wert im Array zu finden. Andernfalls wird der Schlüssel des Werts im Array zurückgegeben zurückgegeben. Wenn Sie also feststellen möchten, dass sich $needle nicht in $haystack befindet, können Sie feststellen, ob der Rückgabewert von array_search($needle, $haystack) gleich false ist.

Diese Methode hat jedoch auch einen Nachteil: Wenn sich $needle in $haystack befindet, gibt die Funktion den Schlüssel des Elements im Array zurück, anstatt true zurückzugeben. Daher müssen die Ergebnisse erneut verglichen werden, um die richtige Antwort zu erhalten.

Abschließend stellen wir eine einfachere und effektivere Methode vor, die PHP-Operatoren verwendet! = und !==, wie unten gezeigt:

!($value != array_search($needle, $haystack));

Das Prinzip dieser Methode besteht darin, dass, wenn $needle in $haystack ist, array_search($needle, $haystack) den Schlüssel des Elements im Array zurückgibt und $value ist gleich Der Schlüssel; andernfalls ist $value gleich false. Daher müssen Sie nur feststellen, ob $value gleich array_search($needle, $haystack) ist, und dann die Inversionsoperation ausführen, um die richtige Antwort zu erhalten.

Kurz gesagt, in der PHP-Programmierung können Sie die oben genannten drei Methoden verwenden, um festzustellen, ob sich ein Wert nicht in einem Array befindet. Bei der Auswahl der geeigneten Methode müssen Sie die spezifische Situation berücksichtigen und die am besten geeignete Methode zur Implementierung der Funktion auswählen.

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob sich ein Wert in einem Array in PHP 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