Funkcja php array_diff_key

Funkcja php array_diff_key
Funkcja array_diff_key () w PHP służy do zwracania elementów z parami kluczowymi obecnymi w pierwszej tablicy wejściowej, ale nie obecnej w pozostałych tablicach wejściowych (druga tablica, trzecia tablica itp.) Na podstawie kluczy. Porównał tylko klucze.

Po prostu możemy powiedzieć, że zwraca różnicę w tablicach, które mają pary wartości kluczowej. Jest to samo, co operacja różnicy ustawionej.

Składnia:
array_diff_key (array_input1, array_input2,… .)
Parametr wymaga dwóch lub więcej tablic.

Przykład 1:
W tym przykładzie utworzymy trzy tablice (pary klucza: wartości) i zastosujemy Array_diff (), aby zwrócić różnicę tablicy.

Tutaj pierwsza tablica ma pięć elementów: -1 => „Lotus”, 2 => „Land”, 3 => 45,4 => 14,5 => „Indie”,
Druga tablica ma pięć elementów: - 1 => „Jasmine”, 2 => „woda”, 3 => 25,4 => 24,5 => 'USA ”i
Trzecia tablica ma pięć elementów: -1 => „Lotus”, 2 => „Land”, 3 => 45,4 => 14,5 => „Indie”.

// Utwórz tablicę o nazwie Flower1
$ Flower1 = tablica (1 => „lotus”, 2 => „land”, 3 => 45,4 => 14,5 => „Indie”);
// Utwórz tablicę o nazwie Flower2
$ Flower2 = tablica (1 => „Jasmine”, 2 => „woda”, 3 => 25,4 => 24,5 => 'USA');
// Utwórz tablicę o nazwie Flower3
$ Flower3 = tablica (1 => 'lotus', 2 => 'land', 3 => 45,4 => 14,5 => 'India');
print_r ($ flower1);
print_r ($ flower2);
print_r ($ flower3);
druk („różnica tablicy:”);
// array_diff na $ kwiat1, $ kwiat 2 i $ kwiat3
print_r (array_diff_key ($ flower1, $ flower2, $ flower3));
?>

Wyjście:

Widzimy, że klucze - 1,2,3,4,5 są obecne w pierwszej tablicy, a także w trzeciej tablicy. Stąd żaden element nie jest zwracany.

W rezultacie zwracana jest pusta tablica (array ()).

Przykład 2:
W tym przykładzie utworzymy trzy tablice (pary klucza: wartości) i zastosujemy array_diff_key (), aby zwrócić różnicę tablicy.

Tutaj pierwsza tablica ma pięć kluczy: -1,2,3,4,5
Druga tablica ma pięć kluczy: - 6,7,8,9,10 i
Trzecia tablica ma pięć kluczy: - 11 22,13,14 i 15.

// Utwórz tablicę o nazwie Flower1
$ Flower1 = tablica (1 => „Marigold”, 2 => 'oba', 3 => 5,4 => 1,5 => 'nepal');
// Utwórz tablicę o nazwie Flower2
$ Flower2 = tablica (6 => „Jasmine”, 7 => „woda”, 8 => 25,9 => 24,10 => 'USA');
// Utwórz tablicę o nazwie Flower3
$ Flower3 = tablica (11 => 'lotus', 12 => 'land', 13 => 45,14 => 14,15 => 'India');
print_r ($ flower1);
print_r ($ flower2);
print_r ($ flower3);
Drukuj („różnica tablicy:”);
// array_diff na $ kwiat1, $ kwiat 2 i $ kwiat3
print_r (array_diff_key ($ flower1, $ flower2, $ flower3));
?>

Wyjście:

Widzimy, że klucze -1,2,3,4,5 są obecne w pierwszej tablicy i nie są obecne w pozostałych dwóch tablicach. Stąd wszystkie elementy z pierwszej tablicy są zwracane.

Przykład 3:
W tym przykładzie utworzymy dwie tablice (klucz: pary wartości) i zastosujemy array_diff_key (), aby zwrócić różnicę tablicy.

Tutaj pierwsza tablica ma pięć kluczy: -1,2,3,4,5 i
Druga tablica ma pięć kluczy: - 6,7,8,9,10.

// Utwórz tablicę o nazwie Flower1
$ Flower1 = tablica (1 => „lotus”, 2 => „land”, 3 => 45,4 => 14,5 => „Indie”);
// Utwórz tablicę o nazwie Flower2
$ Flower2 = tablica (6 => „Jasmine”, 7 => „woda”, 8 => 25,9 => 24,10 => 'USA');
print_r ($ flower1);
print_r ($ flower2);
druk („różnica tablicy:”);
// array_diff na $ flower1 i $ flower2
print_r (array_diff_key ($ flower1, $ flower2));
?>

Wyjście:

Widzimy, że wartości kluczowe -1,2,3,4,5 są obecne w pierwszej tablicy, a nie w drugiej tablicy. Stąd wszystkie elementy z pierwszej tablicy są zwracane.

Przykład 4:
W tym przykładzie utworzymy dwie tablice (klucz: pary wartości) i zastosujemy array_diff_key (), aby zwrócić różnicę tablicy.

Tutaj pierwsza tablica ma pięć kluczy: -1,2,3,4,5 i
Druga tablica ma pięć kluczy: - 1,2,7,8,3.

// Utwórz tablicę o nazwie Flower1
$ Flower1 = tablica (1 => „lotus”, 2 => „land”, 3 => 45,4 => 14,5 => „Indie”);
// Utwórz tablicę o nazwie Flower2
$ Flower2 = tablica (1 => „Jasmine”, 2 => „oba”, 7 => 25,8 => 24,3 => „Indie”);
print_r ($ flower1);
print_r ($ flower2);
druk („różnica tablicy:”);
// array_diff na $ flower1 i $ flower2
print_r (array_diff_key ($ flower1, $ flower2));
?>

Wyjście:

Widzimy, że klucze 4 i 5 są obecne w pierwszej tablicy, ale nie w drugiej tablicy. Stąd te elementy z pierwszej tablicy są zwracane.

Wniosek

W tym artykule PHP widzieliśmy, jak wykonać array_diff_key () na dwóch lub wielu tablicach z parami key_value. Na podstawie klucza zwraca elementy obecne w pierwszej tablicy, ale nie w pozostałych tablicach. Ta koncepcja została omówiona z czterema różnymi przykładami.