PHP: Comparando arrays

setembro 22, 2008

Você já tentou comparar dois arrays utilizando os operadores == ou === ?
Em alguns casos esta comparação pode ser útil.

O operador == retorna true caso os dois arrays sejam iguais, isto é deve conter o mesmo número de elementos com as mesmas chaves e valores. Sem importar a ordem de como eles foram atribuídos.

O operador === retorna true caso os dois arrays sejam iguais, isto é deve conter o mesmo número de elementos com as mesmas chaves e valores. Porém, desta vez a ordem de como eles foram atribuídos também devem ser iguais.

Por exemplo:

1 $paises1 = array("brasil", "japao", "italia");
2 $paises2 = array(0 => "brasil", 1 => "japao", 2 => "italia");
3
4 var_dump($paises1 == $paises2); // retorna true

Como podem ver, ele retorna true pois todas as verificações foram atendidas (mesmo número de elementos, chaves iguais e valores iguais).

Agora para uma comparação mais exigente:

1 $paises1 = array("brasil", "japao", "italia");
2 $paises2 = array(1 => "japao", 2 => "italia", 0 => "brasil");
3
4 var_dump($paises1 === $paises2); // retorna false

Já neste caso iria retornar false, mesmo o array sendo igual sua ordem não foi definida da mesma forma.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

%d blogueiros gostam disto: