Heim >Backend-Entwicklung >PHP-Tutorial >Einführung in die Verwendung der PHP-Funktion array_intersect_key()

Einführung in die Verwendung der PHP-Funktion array_intersect_key()

王林
王林Original
2023-06-26 23:51:091854Durchsuche

Die Funktion array_intersect_key() in PHP ist eine sehr praktische Funktion. Ihre Hauptfunktion besteht darin, die Schlüssel von zwei oder mehr Arrays zu vergleichen und ein neues Array zurückzugeben, das nur die Schlüsselnamen in allen vorhandenen Arrays enthält. Dieser Artikel stellt Ihnen die grundlegende Syntax und Verwendung der Funktion array_intersect_key() vor.

1. Die grundlegende Syntax der Funktion array_intersect_key()

Die grundlegende Syntax der Funktion array_intersect_key() in PHP lautet wie folgt:

array array_intersect_key ( array $array1 , array $array2 [, array $... ] )

Darunter sind $array1, $array2 usw. die verschiedenen übergebenen Array-Parameter In.

2. So verwenden Sie die Funktion array_intersect_key()

  1. Es wird nur ein Parameter übergeben

Wenn nur ein Parameter übergeben wird, verarbeitet die Funktion array_intersect_key() diesen nicht, sondern gibt direkt ein leeres Array zurück.

$array1 = array("a" => "PHP", "b" => "HTML", "c" => "CSS");
$result = array_intersect_key($array1);
print_r($result);  // 输出:Array()
  1. Übergabe von zwei Parametern

Bei der Übergabe von zwei Parametern vergleicht die Funktion array_intersect_key() die Schlüssel der beiden Arrays und gibt ein neues Array zurück, das nur die Schlüsselnamen enthält, die in allen angegebenen Array-Elementen vorhanden sind.

$array1 = array("a" => "PHP", "b" => "HTML", "c" => "CSS", "d" => "JavaScript");
$array2 = array("a" => "PHP", "e" => "Python", "f" => "C++", "d" => "JavaScript");
$result = array_intersect_key($array1, $array2);
print_r($result);  // 输出:Array ( [a] => PHP [d] => JavaScript )

Im obigen Code sind $array1 und $array2 die beiden übergebenen Array-Parameter und $result ist das neue Array, das von der Funktion zurückgegeben wird. Dieses Array enthält nur Elemente, deren Schlüsselnamen in beiden Arrays vorhanden sind.

  1. Übergabe von drei oder mehr Parametern

Bei der Übergabe von drei oder mehr Parametern ist die Funktion array_intersect_key() dieselbe wie bei der Übergabe von zwei Parametern, mit der Ausnahme, dass ein oder mehrere Array-Parameter übergeben werden.

$array1 = array("a" => "PHP", "b" => "HTML", "c" => "CSS", "d" => "JavaScript");
$array2 = array("a" => "PHP", "e" => "Python", "f" => "C++", "d" => "JavaScript");
$array3 = array("a" => "PHP", "c" => "CSS", "g" => "Ruby", "d" => "JavaScript");
$result = array_intersect_key($array1, $array2, $array3);
print_r($result);  // 输出:Array ( [a] => PHP [d] => JavaScript )

Im obigen Code sind $array1, $array2 und $array3 die drei übergebenen Parameter und $result ist das neue Array, das von der Funktion zurückgegeben wird. Dieses Array enthält nur Elemente, deren Schlüsselnamen in allen angegebenen Arrays vorhanden sind.

3. Anwendungsbeispiel der Funktion array_intersect_key()

  1. Bestimmen, ob das Array den angegebenen Schlüsselwert hat

Mit der Funktion array_intersect_key() kann ermittelt werden, ob das Array den angegebenen Schlüsselwert hat.

function checkArrayKey($array, $keys) {
    // 将传入的键名转化为数组
    $keys = array_flip((array) $keys);
    // 比较两个数组的键,返回新数组
    $result = array_intersect_key($keys, $array);
    // 判断键值是否相同,如果键值相同则说明数组中拥有该键值
    return count($result) == count($keys);
}

// 示例使用
$myArray = array("a" => "PHP", "b" => "HTML", "c" => "CSS", "d" => "JavaScript");
echo checkArrayKey($myArray, "a") ? "存在" : "不存在";  // 输出:存在
echo checkArrayKey($myArray, ["a", "b"]) ? "存在" : "不存在";  // 输出:存在
echo checkArrayKey($myArray, ["d", "e"]) ? "存在" : "不存在";  // 输出:不存在

Im obigen Code ist $myArray der eingehende Array-Parameter. Die Funktion checkArrayKey() wird verwendet, um festzustellen, ob das Array den angegebenen Schlüsselwert hat, und bestimmt anhand des Rückgabewerts, ob der angegebene Schlüsselwert vorhanden ist. Gibt true zurück, wenn es existiert, andernfalls false.

  1. Vergleichen Sie die gemeinsamen Schlüsselnamen in mehreren Arrays

Sie können die gemeinsamen Schlüsselnamen in mehreren Arrays über die Funktion array_intersect_key() vergleichen.

// 示例使用
$array1 = array("a" => "PHP", "b" => "HTML", "c" => "CSS", "d" => "JavaScript");
$array2 = array("a" => "PHP", "e" => "Python", "f" => "C++", "d" => "JavaScript");
$array3 = array("a" => "PHP", "c" => "CSS", "g" => "Ruby", "d" => "JavaScript");

// 比较多个数组的公共键名
$result = call_user_func_array("array_intersect_key", array($array1, $array2, $array3)); 
print_r($result);  // 输出:Array ( [a] => PHP [d] => JavaScript )

Im obigen Code sind $array1, $array2 und $array3 die drei übergebenen Array-Parameter. Diese drei Arrays können an die Funktion array_intersect_key() übergeben werden, indem die Funktion call_user_func_array() verwendet wird, die zum Vergleichen verwendet wird Mehrere Arrays. Name des öffentlichen Schlüssels. Das Endergebnis enthält nur Elemente, deren Schlüsselnamen in allen drei Arrays vorhanden sind.

4. Zusammenfassung

Durch die Einleitung dieses Artikels glaube ich, dass die Leser die grundlegende Syntax und Anwendungsmethode der Funktion array_intersect_key() bereits verstanden haben. Wenn Sie in der tatsächlichen Entwicklung gemeinsame Schlüsselnamen in mehreren Arrays vergleichen oder feststellen müssen, ob ein Array einen bestimmten Schlüsselwert hat, können Sie diese Funktion verwenden, um sie einfach zu implementieren.

Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung der PHP-Funktion array_intersect_key(). 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