So ermitteln Sie in PHP, ob ein Array einen bestimmten Wert enthält

PHPz
Freigeben: 2023-04-19 09:37:56
Original
631 Leute haben es durchsucht

Bei der PHP-Programmierung ist es eine sehr häufige Anforderung, festzustellen, ob ein Array ein bestimmtes Element enthält. In diesem Artikel werden verschiedene Beurteilungsmethoden sowie deren Vor- und Nachteile sowie anwendbare Szenarien vorgestellt.

  1. in_array-Funktion

PHPs integrierte in_array-Funktion kann verwendet werden, um zu bestimmen, ob ein Wert in einem Array vorhanden ist. Die Syntax dieser Funktion lautet wie folgt:

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

wobei $needle den zu findenden Wert und $haystack das zu durchsuchende Array darstellt. Gibt true zurück, wenn es gefunden wird, andernfalls false. Der strikte Parameter gibt an, ob die Typprüfung aktiviert werden soll. Der Standardwert ist falsch, was bedeutet, dass nur geprüft wird, ob die Werte der Elemente gleich sind, und nicht, ob die Typen gleich sind.

Beispielcode:

$fruits = array('apple', 'banana', 'orange');
if (in_array('banana', $fruits)) {
    echo '数组中包含 banana';
} else {
    echo '数组中不包含 banana';
}
Nach dem Login kopieren

Dieser Code gibt Folgendes aus: Das Array enthält Bananen. Die Funktion

in_array eignet sich zum Suchen von Elementen in gewöhnlichen Arrays.

  1. array_key_exists-Funktion

array_key_exists-Funktion kann verwendet werden, um herauszufinden, ob ein Schlüssel in einem assoziativen Array vorhanden ist. Die Syntax lautet wie folgt:

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

Wobei $key den zu durchsuchenden Schlüssel und $array das zu durchsuchende assoziative Array darstellt. Gibt true zurück, wenn es gefunden wird, andernfalls false.

Beispielcode:

$age = array('Peter' => 35, 'John' => 40, 'Mary' => 25);
if (array_key_exists('Mary', $age)) {
    echo '数组中包含键 Mary';
} else {
    echo '数组中不包含键 Mary';
}
Nach dem Login kopieren

Dieser Code gibt Folgendes aus: Das Array enthält den Schlüssel Mary. Die Funktion

array_key_exists eignet sich, um herauszufinden, ob ein Schlüssel in einem assoziativen Array vorhanden ist.

  1. isset-Funktion

Wenn der Wert eines Elements im Array NULL ist, geben sowohl die Funktion in_array als auch die Funktion array_key_exists false zurück. Zu diesem Zeitpunkt können Sie die isset-Funktion zur Beurteilung verwenden. Die Syntax lautet wie folgt:

bool isset ( mixed $var [, mixed $... ] )
Nach dem Login kopieren

Unter diesen stellt $var die zu beurteilende Variable oder das Array-Element dar. Gibt true zurück, wenn die Variable existiert und nicht NULL ist, andernfalls false.

Beispielcode:

$person = array('name' => 'Tom', 'age' => 20, 'email' => NULL);
if (isset($person['email'])) {
    echo '数组中包含键 email';
} else {
    echo '数组中不包含键 email';
}
Nach dem Login kopieren

Dieser Code wird ausgegeben: Das Array enthält die Schlüssel-E-Mail. Die Funktion

isset eignet sich zur Bestimmung, ob eine Variable oder ein Array-Element existiert und nicht NULL ist.

  1. array_search-Funktion

array_search-Funktion kann einen Wert in einem Array finden und den entsprechenden Schlüssel zurückgeben. Die Syntax lautet wie folgt:

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

Wobei $needle den zu findenden Wert und $haystack das zu durchsuchende Array darstellt. Wenn die Suche erfolgreich ist, wird der dem Element entsprechende Schlüssel zurückgegeben, andernfalls wird false zurückgegeben. Der strikte Parameter gibt an, ob die Typprüfung aktiviert werden soll, und der Standardwert ist false.

Beispielcode:

$fruits = array('apple', 'banana', 'orange');
$key = array_search('banana', $fruits);
if (false !== $key) {
    echo '数组中包含 banana,其键为:' . $key;
} else {
    echo '数组中不包含 banana';
}
Nach dem Login kopieren

Dieser Code gibt Folgendes aus: Das Array enthält Banane mit dem Schlüssel: 1. Die Funktion

array_search eignet sich zum Finden des Schlüssels, der einem Wert in einem Array entspricht.

  1. Benutzerdefinierte Funktion

Wenn die oben genannten Funktionen die Anforderungen nicht erfüllen können, können Sie die Beurteilungsfunktion entsprechend der tatsächlichen Situation anpassen. Beispielsweise wird die folgende Funktion verwendet, um zu bestimmen, ob ein Array einen bestimmten Wert enthält:

function in_array_ex($needle, $haystack) {
    foreach ($haystack as $value) {
        if ($value === $needle) {
            return true;
        }
    }
    return false;
}
Nach dem Login kopieren

Diese Funktion verwendet eine foreach-Schleife, um das Array zu durchlaufen und nacheinander zu vergleichen, ob der Wert des Array-Elements gleich dem zu seinden Wert ist gefunden. Gibt true zurück, wenn es gefunden wird, andernfalls false.

Beispielcode:

$fruits = array('apple', 'banana', 'orange');
if (in_array_ex('banana', $fruits)) {
    echo '数组中包含 banana';
} else {
    echo '数组中不包含 banana';
}
Nach dem Login kopieren

Dieser Code gibt Folgendes aus: Das Array enthält Banane.

Benutzerdefinierte Funktionen eignen sich für spezifische Beurteilungsanforderungen und weisen eine hohe Flexibilität und Anwendbarkeit auf.

Zusammenfassend lässt sich sagen, dass Sie zur Bestimmung, ob ein Array ein Element enthält, die in PHP integrierten Funktionen in_array, array_key_exists, isset und array_search verwenden oder die Beurteilungsfunktion entsprechend den tatsächlichen Anforderungen anpassen können. Die Auswahl einer für das Szenario geeigneten Beurteilungsmethode kann die Effizienz und Wartbarkeit des Programms verbessern.

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie in PHP, ob ein Array einen bestimmten Wert enthält. 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