array_diff_key
funkcja
Zwraca elementy pierwszej tablicy, których klucze nie występują w pozostałych tablicach. Porównuje klucze, nie wartości.
array_diff_key(array $array, array ...$arrays): array
array_diff_key porównuje klucze (nie wartości) i zwraca te elementy z $array, których klucze nie pojawiają się w żadnej z tablic $arrays. Oryginalne tablice nie są modyfikowane, a klucze w wyniku są zachowane.
Przydaje się, gdy chcesz usunąć z tablicy pola, które są obecne w innej tablicy — np. wyrzucić z danych użytkownika pola już przetworzone lub objęte innym zestawem reguł.
<?php
declare(strict_types=1);
// Zostaw tylko pola nieobecne w tablicy $b:
$a = ['id' => 1, 'nazwa' => 'ola', 'wiek' => 25];
$b = ['id' => 2, 'email' => '[email protected]'];
$roznica = array_diff_key($a, $b);
print_r($roznica);
// wynik:
// Array
// (
// [nazwa] => ola
// [wiek] => 25
// )