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.
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 ])
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'; }
Dieser Code gibt Folgendes aus: Das Array enthält Bananen. Die Funktion
in_array eignet sich zum Suchen von Elementen in gewöhnlichen Arrays.
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 )
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'; }
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.
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 $... ] )
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'; }
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.
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 ] )
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'; }
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.
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; }
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'; }
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!