02- Escreva um programa em PHP que, a partir de dois vetores A e B de 5 posições, mostre como resultado quais as posições possuem conteúdos iguais e seus respectivos valores. alguem ajuda ai
Respostas
Resposta:
<?php
$A = ["Tardelli", 9, "Ronaldinho Gaucho", 11, "Cuca"];
$B = ["Ronaldinho Gaucho", 8, "Pepe", 3, "Guardiola"];
for ($i=0; $i < count($A); $i++) {
for ($j=0; $j < count($B); $j++) {
if($A[$i] == $B[$j]){
echo "A posicão " . $i . " do vetor A é igual a posicao " . $j . " do vetor B : ". $A[$i];
}
}
}
?>
Explicação:
Iniciei duas arrays com 5 valores. Só um deles está em comum: Ronaldinho Gaucho. Só que estão em posições diferentes.
Para comparar o conteúdo das arrays eu preciso pegar a primeira posição do array A e comparar com todas as posições do array B. Depois eu preciso comparar a segunda posição do array A com todas as posições do array B. E assim por diante. Ou seja: aqui está claro que há uma repetição. Posso muito bem usar o for para resolver isso.
No primeiro for eu tenho uma variável chamada $i. Ela será iniciada com zero. Dentro desse mesmo for existe outro for, porém ele está com outra variável, que é a $j, também iniciada com zero.
Ok.
No primeiro loop for, da variável $i, eu entro automaticamente no outro for, da variável $j.
Observe que o $i será zero e o for do $j será repetido até que termine a iteração. Após toda a iteração do segundo for a variável $i recebe novo incremento. Ou seja: seu valor aumenta 1 unidade.
Ou seja: enquanto o i = 0 o j vai mudando os valores. A cada incremento o j aumenta seu valor.
Agora é só colocar a variável $i dentro do array A e a $j dentro da array B.
Então as posições da array A serão todas comparadas ao array B com essa estrutura.
As que contiverem conteúdo igual serão impressas na tela conforme mostra o código.