Funktsioon array_diff_key
Funktsioon array_diff_key võrdleb kahe või enama massiivi võtmeid ja tagastab massiivi, mis sisaldab esimese massiivi elemente, mille võtmed puuduvad ülejäänud massiivides. Võrdlus toimub ainult võtmete alusel, elementide väärtusi ei võeta arvesse.
Süntaks
array_diff_key(array $array1, array $array2 [, array $...]): array
Näide
Võrdleme kahte massiivi võtmete alusel:
<?php
$arr1 = ['a' => 1, 'b' => 2, 'c' => 3];
$arr2 = ['a' => 4, 'd' => 5];
$res = array_diff_key($arr1, $arr2);
print_r($res);
?>
Koodi täitmise tulemus:
['b' => 2, 'c' => 3]
Näide
Kolme massiivi võrdlus võtmete alusel:
<?php
$arr1 = [1 => 'a', 2 => 'b', 3 => 'c'];
$arr2 = [1 => 'd', 4 => 'e'];
$arr3 = [5 => 'f', 2 => 'g'];
$res = array_diff_key($arr1, $arr2, $arr3);
print_r($res);
?>
Koodi täitmise tulemus:
[3 => 'c']
Näide
Numbriliste ja sõnaliste võtmete kasutamine:
<?php
$arr1 = ['color' => 'red', 1 => 'a', 2 => 'b'];
$arr2 = [1 => 'c', 'size' => 'XL'];
$res = array_diff_key($arr1, $arr2);
print_r($res);
?>
Koodi täitmise tulemus:
['color' => 'red', 2 => 'b']
Vaata ka
-
funktsiooni
array_diff,
mis võrdleb massiive väärtuste alusel -
funktsiooni
array_intersect_key,
mis tagastab sobivad võtmed