Função php array_diff_key

Função php array_diff_key
A função Array_diff_key () no PHP é usada para retornar os elementos com pares de valores-chave presentes na primeira matriz de entrada, mas não presentes nas matrizes de entrada restantes (segunda matriz, terceira matriz, etc.) com base nas chaves. Comparou apenas as chaves.

Simplesmente, podemos dizer que ele retorna a diferença de matrizes que têm pares de valor-chave. É o mesmo que a operação de diferença definida.

Sintaxe:
Array_diff_key (Array_input1, Array_input2,… .)
São necessários dois ou mais matrizes como um parâmetro.

Exemplo 1:
Neste exemplo, criaremos três matrizes (chave: pares de valor) e aplicaremos Array_Diff () para retornar a diferença de matriz.

Aqui, a primeira matriz tem cinco elementos: -1 => 'lotus', 2 => 'terra', 3 => 45,4 => 14,5 => 'Índia',
A segunda matriz tem cinco elementos: - 1 => 'Jasmine', 2 => 'água', 3 => 25,4 => 24,5 => 'EUA ”e
A terceira matriz tem cinco elementos: -1 => 'lotus', 2 => 'terra', 3 => 45,4 => 14,5 => 'Índia'.

// Crie uma matriz chamada Flower1
$ Flor1 = matriz (1 => 'lotus', 2 => 'terra', 3 => 45,4 => 14,5 => 'Índia');
// Crie uma matriz chamada Flower2
$ Flor2 = matriz (1 => 'jasmine', 2 => 'água', 3 => 25,4 => 24,5 => 'EUA');
// Crie uma matriz chamada Flower3
$ Flor3 = matriz (1 => 'lotus', 2 => 'terra', 3 => 45,4 => 14,5 => 'Índia');
print_r ($ flor1);
print_r ($ flor2);
print_r ($ flor3);
print ("diferença de matriz:");
// Array_diff em $ flor1, $ flor2 e $ flor3
print_r (array_diff_key ($ flor1, $ flor2, $ flor3));
?>

Saída:

Podemos ver que as chaves - 1,2,3,4,5 estão presentes na primeira matriz e também na terceira matriz. Portanto, nenhum elemento é devolvido.

Como resultado, uma matriz vazia (Array ()) é devolvida.

Exemplo 2:
Neste exemplo, criaremos três matrizes (chave: pares de valor) e aplicaremos Array_Diff_Key () para retornar a diferença de matriz.

Aqui, a primeira matriz tem cinco chaves: -1,2,3,4,5
A segunda matriz tem cinco chaves: - 6,7,8,9,10 e
A terceira matriz tem cinco chaves: - 11,12,13,14 e 15.

// Crie uma matriz chamada Flower1
$ Flor1 = matriz (1 => 'cravo', 2 => 'ambos', 3 => 5,4 => 1,5 => 'nepal');
// Crie uma matriz chamada Flower2
$ Flor2 = matriz (6 => 'jasmine', 7 => 'água', 8 => 25,9 => 24,10 => 'EUA');
// Crie uma matriz chamada Flower3
$ Flor3 = matriz (11 => 'lotus', 12 => 'terra', 13 => 45,14 => 14,15 => 'Índia');
print_r ($ flor1);
print_r ($ flor2);
print_r ($ flor3);
Imprimir (“Diferença da matriz:“);
// Array_diff em $ flor1, $ flor2 e $ flor3
print_r (array_diff_key ($ flor1, $ flor2, $ flor3));
?>

Saída:

Podemos ver que as chaves -1,2,3,4,5 estão presentes na primeira matriz e não estão presentes nas duas matrizes restantes. Portanto, todos os elementos da primeira matriz são devolvidos.

Exemplo 3:
Neste exemplo, criaremos duas matrizes (chave: pares de valor) e aplicaremos Array_Diff_Key () para retornar a diferença de matriz.

Aqui, a primeira matriz tem cinco chaves: -1,2,3,4,5 e
A segunda matriz tem cinco chaves: - 6,7,8,9,10.

// Crie uma matriz chamada Flower1
$ Flor1 = matriz (1 => 'lotus', 2 => 'terra', 3 => 45,4 => 14,5 => 'Índia');
// Crie uma matriz chamada Flower2
$ Flor2 = matriz (6 => 'jasmine', 7 => 'água', 8 => 25,9 => 24,10 => 'EUA');
print_r ($ flor1);
print_r ($ flor2);
print ("diferença de matriz:");
// Array_diff em $ flor1 e $ flor2
print_r (array_diff_key ($ flor1, $ flor2));
?>

Saída:

Podemos ver que os valores -chave -1,2,3,4,5 estão presentes na primeira matriz e não na segunda matriz. Portanto, todos os elementos da primeira matriz são devolvidos.

Exemplo 4:
Neste exemplo, criaremos duas matrizes (chave: pares de valor) e aplicaremos Array_Diff_Key () para retornar a diferença de matriz.

Aqui, a primeira matriz tem cinco chaves: -1,2,3,4,5 e
A segunda matriz tem cinco chaves: - 1,2,7,8,3.

// Crie uma matriz chamada Flower1
$ Flor1 = matriz (1 => 'lotus', 2 => 'terra', 3 => 45,4 => 14,5 => 'Índia');
// Crie uma matriz chamada Flower2
$ Flor2 = matriz (1 => 'jasmine', 2 => 'ambos', 7 => 25,8 => 24,3 => 'Índia');
print_r ($ flor1);
print_r ($ flor2);
print ("diferença de matriz:");
// Array_diff em $ flor1 e $ flor2
print_r (array_diff_key ($ flor1, $ flor2));
?>

Saída:

Podemos ver que as chaves 4 e 5 estão presentes na primeira matriz, mas não na segunda matriz. Portanto, esses elementos da primeira matriz são devolvidos.

Conclusão

Neste artigo do PHP, vimos como executar Array_diff_key () em duas ou várias matrizes com pares key_value. Com base na chave, ele retorna os elementos presentes na primeira matriz, mas não nas matrizes restantes. Este conceito foi discutido com quatro exemplos diferentes.