Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

phpando

[Resolvido] Comparando Arrays

Recommended Posts

Olá pessoal.

 

Estou em dúvida se há como fazer um método ágil de verificação de ocorrências de itens de uma array em outra.

 

Exemplo de uma forma relativamente simples de fazer:

$Array_1 = array("Pedro", "Rafael", "Gisele", "Luciano", "Paula", "Lúcia", "Maria", "Fernando", "Rogério");
$Array_2 = array("Rafael", "Antônio", "Marcos", "Luciano", "Cláudio", "Maria");

$oc = 0;
$Size = sizeof($Array_1);
for($i=0; $i<$Size; $i++)
{
  if(in_array($Array_1[$i], $Array_2)) 
  {
    $oc++;
  }
}

echo "Total de ".$oc." ocorrências";

Acontece que se eu tenho um Loop onde tenho 50 $Array_1 para comparar item a item com a $Array_2, o processo sobrecarrega o sistema.

 

Agora a pergunta: Há outra maneira de comparar um array com outro, retornando o número de ocorrências da array 1 na 2?

 

Desde já agradeço à atenção de todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, to sem tempo de olhar todas... Mas dá uma olhada no link abaixo, que com certeza vai ter uma função que vai te ajudar.

http://br.php.net/manual/pt_BR/book.array.php

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, to sem tempo de olhar todas... Mas dá uma olhada no link abaixo, que com certeza vai ter uma função que vai te ajudar.

http://br.php.net/manual/pt_BR/book.array.php

 

Carlos Eduardo

 

Carlos Eduardo, encontrei um minuto antes de olhar sua resposta: array_intersect();

 

Se ajudar alguém:

$Array_1 = array("Pedro", "Rafael", "Gisele", "Luciano", "Paula", "Lúcia", "Maria", "Fernando", "Rogério");
$Array_2 = array("Rafael", "Antônio", "Marcos", "Luciano", "Cláudio", "Maria");

$oc = count(array_intersect($Array_1, $Array_2));

echo "Total de ".$oc." ocorrências";

De qualquer maneira muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.