Heim  >  Artikel  >  Backend-Entwicklung  >  So finden Sie mithilfe der Funktion in_array in PHP heraus, ob ein angegebener Wert in einem Array ohne Berücksichtigung der Groß- und Kleinschreibung vorhanden ist

So finden Sie mithilfe der Funktion in_array in PHP heraus, ob ein angegebener Wert in einem Array ohne Berücksichtigung der Groß- und Kleinschreibung vorhanden ist

WBOY
WBOYOriginal
2023-06-26 11:49:451356Durchsuche

In PHP müssen wir oft herausfinden, ob ein bestimmter Wert in einem Array vorhanden ist. Zu diesem Zweck stellt PHP eine sehr praktische Funktion in_array () bereit, mit der diese Funktion implementiert werden kann. Aber manchmal möchten wir bei der Suche nach Werten nicht auf Groß- und Kleinschreibung achten. Wie kann man also mit der Funktion in_array() eine Suche ohne Berücksichtigung der Groß- und Kleinschreibung erreichen? In diesem Artikel erfahren Sie, wie Sie dieses Problem beheben können.

1. Grundlegende Verwendung der Funktion in_array()

Die Verwendung der Funktion in_array() ist sehr einfach. Sie enthält zwei Parameter: den zu findenden Wert und das zu findende Array. Die Funktion gibt einen booleschen Wert zurück, der angibt, ob der zu findende Wert im Array vorhanden ist. Hier ist ein grundlegendes Anwendungsbeispiel der Funktion in_array():

<?php
$fruits = array("apple", "banana", "orange", "pear");
if (in_array("banana", $fruits)) {
    echo "Found banana in the array";
} else {
    echo "Did not find banana in the array";
}
?>

Im obigen Beispiel definieren wir ein Array $fruits mit vier Elementen und prüfen, ob „banana“ im Array vorhanden ist. Da „Banane“ im Array vorhanden ist, gibt die Funktion in_array() true zurück und der Code gibt „Banane im Array gefunden“ aus.

2. Implementierung der in_array()-Funktion ohne Berücksichtigung der Groß- und Kleinschreibung

Die Funktion in_array() berücksichtigt standardmäßig die Groß- und Kleinschreibung, d. h. sie behandelt Groß- und Kleinbuchstaben als unterschiedliche Zeichen. Aber manchmal möchten wir bei der Suche möglicherweise nicht auf Groß- und Kleinschreibung achten. Was sollten wir also tun? Zu diesem Zeitpunkt können wir eine Funktion anpassen, um diese Funktion zu implementieren. Hier ist ein Beispiel für die Implementierung einer in_array()-Funktion, bei der die Groß-/Kleinschreibung nicht berücksichtigt wird:

<?php
function in_array_ci($needle, $haystack) {
    return in_array(strtolower($needle), array_map('strtolower', $haystack));
}

$fruits = array("Apple", "Banana", "Orange", "Pear");
if (in_array_ci("banana", $fruits)) {
    echo "Found banana in the array";
} else {
    echo "Did not find banana in the array";
}
?>

Im obigen Beispiel haben wir eine Funktion namens in_array_ci() definiert, die zwei Parameter benötigt: den zu findenden Wert und das zu findende Array. Diese Funktion wandelt zunächst den zu findenden Wert über die in PHP integrierte Funktion strtolower() in Kleinbuchstaben um und wandelt dann alle Elemente im Array über die Funktion array_map() in Kleinbuchstaben um. Anschließend kann die Funktion in_array() dieses konvertierte Array zur Suche aufrufen und so einen Suchvorgang ohne Berücksichtigung der Groß- und Kleinschreibung abschließen.

Da unsere benutzerdefinierte Funktion in_array_ci() die Funktionen strtolower() und array_map() aufruft, ist zu beachten, dass sie der Funktion in_array() hinsichtlich der Leistung möglicherweise etwas unterlegen ist. Wenn Sie umfangreiche Suchvorgänge ohne Berücksichtigung der Groß- und Kleinschreibung durchführen müssen, wird empfohlen, die Verwendung benutzerdefinierter Funktionen zu vermeiden und stattdessen andere, effizientere Methoden zu verwenden.

3. Kapseln Sie es zur Verwendung in eine Klasse

Um die Funktion in_array() ohne Berücksichtigung der Groß- und Kleinschreibung bequemer zu verwenden, können wir sie auch in eine Klasse kapseln, um die Wiederverwendung in verschiedenen Projekten zu erleichtern. Hier ist ein einfaches Beispiel:

<?php
class ArraySearch {
    public static function inArrayCi($needle, $haystack) {
        return in_array(strtolower($needle), array_map('strtolower', $haystack));
    }
}

$fruits = array("apple", "banana", "orange", "pear");
if (ArraySearch::inArrayCi("BaNaNa", $fruits)) {
    echo "Found banana in the array";
} else {
    echo "Did not find banana in the array";
}
?>

Im obigen Beispiel haben wir eine Klasse namens ArraySearch definiert, die über eine inArrayCi()-Methode zum Implementieren von Suchvorgängen ohne Berücksichtigung der Groß- und Kleinschreibung verfügt. Diese Methode ist genau das gleiche wie das vorherige Implementierungsprinzip für benutzerdefinierte Funktionen, außer dass sie jetzt als Klassenmethode einfacher von anderen Codes in mehreren Projekten aufgerufen werden kann. Wenn Sie es verwenden, müssen Sie es nur über den Klassennamen und den Methodennamen aufrufen.

Zusammenfassung

Die Funktion in_array() in PHP ist eine sehr praktische Array-Suchfunktion, mit der die Funktion zum Finden, ob ein Wert in einem Array vorhanden ist, leicht realisiert werden kann. In einigen Fällen möchten wir jedoch bei der Suche die Groß- und Kleinschreibung berücksichtigen. In diesem Fall können wir diese Funktion implementieren, indem wir eine Funktion anpassen oder sie in eine Klasse kapseln. Dies ermöglicht Ihnen eine flexiblere Nutzung dieser Funktion und erfordert die Beachtung von Leistungsproblemen. Ich hoffe, dass dieser Artikel für Leser hilfreich sein kann, die PHP lernen.

Das obige ist der detaillierte Inhalt vonSo finden Sie mithilfe der Funktion in_array in PHP heraus, ob ein angegebener Wert in einem Array ohne Berücksichtigung der Groß- und Kleinschreibung vorhanden ist. 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