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.