PHP - array_diff_key
Třída
Metoda - array_diff_key
(PHP 5 >= 5.1.0, PHP 7)
Funkce porovnává klíče zadaných polí a vrací jejích rozdíl.
Pozn.: Funkce nepracuje rekurzivně pro vícerozměrná pole.
Procedurální
- function array_diff_key (array $array1, array $array2, array $...) : array
Parametry
Název | Datový typ | Výchozí hodnota | Popis |
---|---|---|---|
$array1 | array | Klíče daného pole porovnáváme s klíči v následujících polích. Když je klíč textový řetězec, záleží na velikosti znaků (case sensitive). | |
$array2 | array | Pole, jehož klíče jsou porovnávány s klíči v prvním poli. | |
$... | array | Další pole, jejichž klíče jsou porovnávány s klíči v prvním poli. |
Návratové hodnoty
Vrací: array
Funkce vrací pole obsahující prvky prvního pole, které se nenachází ve zbylých polích.
Příklady
V první ukázce máme dvě asociativní pole a porovnáváme jejich klíče.
<?php
$pole1 = array("jmeno" => "Chuck", "prijmeni" => "Norris", "vek" => 30, "film" => "The Delta Force");
$pole2 = array("vek" => 50, "film" => "Rambo 1");
print_r(array_diff_key($pole1, $pole2));
echo "<br>";
// Když je klíčem textový řetězec, porovnává se také velikost znaků:
$pole2 = array("vek" => 50, "FILM" => "Rambo 1");
print_r(array_diff_key($pole1, $pole2));
Ve druhé ukázce máme dvě číselně indexová pole:
<?php
$pole1 = array("BMW", "Mercedes", "Audi", "Volvo", "Subaru", "Lexus");
$pole2 = array(4 => "Honda", "Mazda", "VW");
print_r(array_diff_key($pole1, $pole2));
V třetí ukázce máme tři různá pole:
<?php
$pole1 = array("a" => "red", "b" => "blue", "c" => "yellow", "d" => "green", "e" => "white");
$pole2 = array("a" => "Vovo", "d" => "Audi");
$pole3 = array("b" => 1789, "d" => 2017);
print_r(array_diff_key($pole1, $pole2, $pole3));
Související manuály
- function array_intersect (array $array1, array $array2, array $...) : array
- function array_intersect_key (array $array1, array $array2, array $...) : array