array_intersect_key

funkcja

Zwraca elementy pierwszej tablicy, których klucze występują we wszystkich pozostałych. Porównuje klucze, nie wartości.

array_intersect_key(array $array, array ...$arrays): array

array_intersect_key porównuje klucze i zwraca te elementy z $array, których klucze pojawiają się jednocześnie we wszystkich tablicach $arrays. Wartości są brane z $array — tablice pozostałe służą wyłącznie jako filtr kluczy. Oryginalne tablice nie są modyfikowane.

Świetnie sprawdza się do filtrowania tablicy do dozwolonego zestawu pól — np. przy walidacji danych wejściowych lub budowaniu odpowiedzi API z tylko wybranymi kolumnami.

<?php
declare(strict_types=1);

// Zostaw w danych użytkownika tylko dozwolone pola:
$dane = ['id' => 1, 'nazwa' => 'ola', 'wiek' => 25, 'email' => '[email protected]'];
$dozwolone = ['id' => true, 'nazwa' => true];
$wynik = array_intersect_key($dane, $dozwolone);
print_r($wynik);
// wynik:
// Array
// (
//     [id] => 1
//     [nazwa] => ola
// )
📘 Naucz się w lekcji →