array_intersect / array_intersect_key în PHP

Tablouri (array) PHP 4.0.1+ (array_intersect_key: PHP 5.1+)

Returnează elementele din primul tablou care apar și în toate celelalte tablouri.

Sintaxă
array_intersect(array $array, array ...$arrays): array

Ce face array_intersect / array_intersect_key

array_intersect păstrează din primul tablou doar valorile care există în fiecare dintre celelalte tablouri. Cheile rezultatului sunt cele din primul tablou.

array_intersect_key face același lucru, dar după chei. Este metoda clasică de a păstra doar câmpurile permise dintr-un formular.

Parametri

Parametru Descriere
$array Tabloul de pornire.
$arrays Tablourile cu care se compară.

Ce returnează

Un tablou cu elementele comune.

Exemple

Exemplul 1: Interese comune

<?php
$ana = ["muzică", "drumeții", "PHP", "șah"];
$mihai = ["fotbal", "PHP", "șah"];

print_r(array_intersect($ana, $mihai));

Rezultat

Array
(
    [2] => PHP
    [3] => șah
)

Exemplul 2: Doar câmpurile permise, cu array_intersect_key

<?php
$_POST = ["nume" => "Ana", "email" => "ana@exemplu.ro", "este_admin" => "1"];
$permise = ["nume" => true, "email" => true];

print_r(array_intersect_key($_POST, $permise));

Rezultat

Array
(
    [nume] => Ana
    [email] => ana@exemplu.ro
)

Greșeli frecvente

  • Te aștepți la chei renumerotate. Rezultatul păstrează cheile din primul tablou.

Comenzi înrudite