So ermitteln Sie, ob Daten in einem Array in PHP vorhanden sind

PHPz
Freigeben: 2023-04-18 09:28:46
Original
656 Leute haben es durchsucht

In der PHP-Entwicklung ist es eine sehr häufige Anforderung, festzustellen, ob Daten in einem Array vorhanden sind. Bei der Programmimplementierung gibt es viele Möglichkeiten, diese Funktion zu erreichen. In diesem Artikel werden einige häufig verwendete Methoden vorgestellt und ihre Vor- und Nachteile erläutert.

Methode 1: Verwenden Sie die Funktion in_array()

Die Funktion in_array() ist eine integrierte Funktion, die bestimmen kann, ob ein Element in einem Array vorhanden ist. Seine Syntax lautet wie folgt:

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
Nach dem Login kopieren

Darunter ist $needle das zu findende Element, $haystack ist das zu findende Array und $strict wird verwendet, um anzugeben, ob ein kongruenter (===) Vergleich verwendet werden soll.

Beispielcode:

$fruit = array("apple", "banana", "orange");
if (in_array("apple", $fruit)) {
    echo "存在";
} else {
    echo "不存在";
}
Nach dem Login kopieren

Vorteile: Die Funktion in_array() ist einfach zu verwenden und der Code ist prägnant.

Nachteile: Wenn das Array groß ist, ist die Leistung der Funktion in_array() schlecht, da sie das Array einzeln durchlaufen muss, bis sie ein passendes Element findet oder das Ende des Arrays erreicht.

Methode 2: Verwenden Sie die Funktion array_search()

Die Funktion array_search() ähnelt der Funktion in_array(). Sie kann die Position eines Elements im Array ermitteln und seinen Index zurückgeben. Wenn das Element nicht vorhanden ist, wird „false“ zurückgegeben. Seine Syntax lautet wie folgt:

mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )
Nach dem Login kopieren

Darunter ist $needle das zu findende Element, $haystack ist das zu findende Array und $strict wird verwendet, um anzugeben, ob ein kongruenter (===) Vergleich verwendet werden soll.

Beispielcode:

$fruit = array("apple", "banana", "orange");
if (array_search("apple", $fruit) !== false) {
    echo "存在";
} else {
    echo "不存在";
}
Nach dem Login kopieren

Vorteile: Die Leistung der Verwendung der Funktion array_search() ist besser als die der Funktion in_array(), da sie den Index sofort nach dem Finden des passenden Elements zurückgibt und nicht das gesamte Array durchlaufen muss.

Nachteile: Wenn das zu findende Element an mehreren Positionen im Array enthalten ist, gibt die Funktion array_search() nur den ersten passenden Index zurück. Wenn Sie die Indizes aller übereinstimmenden Elemente finden müssen, müssen Sie andere Methoden verwenden.

Methode 3: Verwenden Sie die Funktion isset()

isset() kann feststellen, ob die Variable existiert und ihr ein Wert zugewiesen wurde. In einem Array kann damit ermittelt werden, ob der Array-Index vorhanden ist. Wenn der Index vorhanden ist und der entsprechende Elementwert nicht null ist, wird „true“ zurückgegeben. Andernfalls wird false zurückgegeben. Beispielcode:

$fruit = array("apple", "banana", "orange");
if (isset($fruit[1])) {
    echo "存在";
} else {
    echo "不存在";
}
Nach dem Login kopieren

Vorteile: Die Leistung der Verwendung der Funktion isset() ist sehr hoch, da nicht das gesamte Array durchlaufen werden muss, sondern lediglich festgestellt werden muss, ob der angegebene Index vorhanden ist.

Nachteile: Die Funktion isset() eignet sich nicht zum Finden bestimmter Elementwerte. Es kann nur verwendet werden, um herauszufinden, ob ein Index vorhanden ist.

Methode 4: Verwenden Sie die Funktion array_key_exists().

Die Funktion array_key_exists() wird verwendet, um zu bestimmen, ob der angegebene Index im Array vorhanden ist. Die Syntax lautet wie folgt:

bool array_key_exists ( mixed $key , array $array )
Nach dem Login kopieren

Unter diesen ist $key der zu durchsuchende Index und $array das zu durchsuchende Array.

Beispielfunktion:

$fruit = array("apple", "banana", "orange");
if (array_key_exists(1, $fruit)) {
    echo "存在";
} else {
    echo "不存在";
}
Nach dem Login kopieren

Vorteile: Die Funktion array_key_exists() eignet sich zum Finden, ob ein bestimmter Index existiert, und ihre Leistung ist höher als die der Funktion in_array().

Nachteil: Die Funktion array_key_exists() ist nicht zum Finden bestimmter Elementwerte geeignet. Es kann nur verwendet werden, um herauszufinden, ob ein Index vorhanden ist.

Zusammenfassend hängt die Methode zur Bestimmung, ob Daten in einem Array vorhanden sind, von den spezifischen Anforderungen und Anwendungsszenarien ab. Wenn Sie einen bestimmten Elementwert suchen müssen, sind die Funktionen in_array() und array_search() eine gute Wahl. Wenn Sie herausfinden möchten, ob ein bestimmter Index existiert, oder überprüfen müssen, ob einer Variablen ein Wert zugewiesen wurde, können Sie die Funktion isset() oder array_key_exists() verwenden. Unabhängig davon, welche Methode verwendet wird, müssen Sie sich der Auswirkungen der Array-Größe auf die Leistung bewusst sein und die Methode auswählen, die am besten zum tatsächlichen Anwendungsszenario passt.

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob Daten in einem Array in PHP vorhanden sind. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage