Array ist in PHP ein sehr verbreiteter und praktischer Datentyp, der es Entwicklern ermöglicht, große Datenmengen zu speichern und Daten über Schlüssel-Wert-Paare zu indizieren und darauf zuzugreifen. Bei der Verwendung von Arrays stoßen wir jedoch häufig auf Situationen, in denen wir feststellen müssen, ob die Schlüssel des Arrays wiederholt werden, denn wenn die Schlüssel wiederholt werden, führt dies zum Überschreiben von Daten oder zu Ausnahmen.
Wie kann man also feststellen, ob die Schlüssel im PHP-Array wiederholt werden? Dieser Artikel wird es Ihnen im Detail erklären.
1. Verwenden Sie die Funktion array_key_exists()
Die Funktion array_key_exists() ist eine in PHP integrierte Funktion, mit der ermittelt wird, ob ein Schlüssel in einem Array vorhanden ist. Die Verwendung ist wie folgt:
if (array_key_exists("key", $array)) { //键存在于数组中 } else { //键不存在于数组中 }
Bei der Bestimmung, ob ein Array-Schlüssel wiederholt wird, können wir das Array durchlaufen und die Funktion array_key_exists() verwenden, um zu bestimmen, ob jeder Schlüssel bereits im Array vorhanden ist. Falls vorhanden, wird der Schlüssel dupliziert. Der Beispielcode lautet wie folgt:
function has_duplicate_key($array){ $keys = array(); // 定义一个空数组,存储数组键 foreach ($array as $key => $value) { if (array_key_exists($key, $keys)) { return true; // 如果键已经存在,说明有重复键 } $keys[$key] = true; // 把数组键存入$keys数组中 } return false; // 没有重复键 }
2. Verwenden Sie die Funktion in_array()
Wenn wir nur feststellen müssen, ob ein Schlüssel im Array vorhanden ist und es uns egal ist, ob der Schlüssel wiederholt wird, können wir die Funktion in_array( ) Funktion. Die Verwendung ist wie folgt:
if (in_array("key", $array)) { //键存在于数组中 } else { //键不存在于数组中 }
3. Verwenden Sie die Funktion array_unique()
Wenn wir doppelte Schlüssel im Array entfernen müssen, können wir die Funktion array_unique() verwenden. Der Beispielcode lautet wie folgt:
$array = array("key1" => "value1", "key2" => "value2", "key1" => "value3"); $array = array_unique($array, SORT_REGULAR); print_r($array);
Verwenden Sie die Funktion array_unique(), um Duplikate zu entfernen. Sie können nur den Schlüssel behalten, der zum ersten Mal angezeigt wird, und nachfolgende doppelte Schlüssel werden gelöscht. Wenn Sie das letzte Vorkommen eines Schlüssels beibehalten müssen, können Sie die Funktion array_reverse() verwenden, um das Array umzukehren, und dann die Funktion array_unique() verwenden.
$array = array("key1" => "value1", "key2" => "value2", "key1" => "value3"); $array = array_reverse($array, true); $array = array_unique($array, SORT_REGULAR); $array = array_reverse($array, true); print_r($array);
4. Verwenden Sie die Funktion count()
Darüber hinaus können wir auch die Funktion count() verwenden, um festzustellen, ob im Array doppelte Schlüssel vorhanden sind. Der Beispielcode lautet wie folgt:
function has_duplicate_key($array){ return count($array) != count(array_unique(array_keys($array))); }
In diesem Code verwenden wir die Funktion array_keys(), um alle Schlüssel des Arrays abzurufen, und verwenden die Funktion array_unique(), um Duplikate zu entfernen. Wenn die Länge des Arrays nach der Deduplizierung nicht mit der Länge des ursprünglichen Arrays übereinstimmt, bedeutet dies, dass das Array doppelte Schlüssel enthält.
Zusammenfassung
In diesem Artikel werden hauptsächlich verschiedene Methoden vorgestellt, um zu bestimmen, ob Schlüssel in PHP-Arrays wiederholt werden, einschließlich der Funktion array_key_exists(), der Funktion in_array(), der Funktion array_unique() und der Funktion count(). Beim Schreiben von Code können Entwickler basierend auf der tatsächlichen Situation die am besten geeignete Methode auswählen, um zu bestimmen, ob die Schlüssel im Array wiederholt werden.
Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob der Schlüssel in einem PHP-Array wiederholt wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!