Em PHP – Aula 020: Arrays e PHP – Aula 021: Arrays Multidimensionais falei sobre arrays. Hoje irei mostrar a função in_array() que retorna true se existir um valor em um array.
Como vimos no post anterior dessa série, aqui também é usado o operador == para comparação no array, se quisermos usar o operador === devemos passar true ao final do comando. Mas isso veremos no decorrer desse artigo.
É bom deixar claro que as funções anteriores, array_key_exists, isset… validavam a existência das chaves do array, dos índices, e não dos valores como faz a função in_array.
Exemplos da função in_array() em php
Observe que in_array() compara as strings diferenciando maiúsculas de minúsculas:
<?php
$nomes = [
'Maria',
'Silva',
null
];
$resultado = in_array('Maria', $nomes);
$resultado1 = in_array('maria', $nomes);
$resultado2 = in_array(null, $nomes);
echo "<pre>";
var_dump($resultado);
var_dump($resultado1);
var_dump($resultado2);
echo "</pre>";
?>
Resultado:
bool(true)
bool(false)
bool(true)
Exemplo da função in_array() em PHP usando o comparador ===
Abaixo o resultado será true pois é usado por padrão o operador == que não diferencia se o valor procurado é string ’15’ ou integer 15.
<?php
$numeros = [10, '15', '20', 30];
$resultado = in_array(15, $numeros);
var_dump($result);
Resultado:
bool(true)
Agora ao adicionarmos true abaixo será usado o operador === e o resultado será false.
<?php
$numeros = [10, '15', '20', 30];
$resultado = in_array(15, $numeros, true);
var_dump($result);
bool(false)
EXEMPLO USANDO IN_ARRAY COM IF
Abaixo usamos o condicional if para decidir se in_array é verdadeiro ou falso.
<?php
$cores = [
['vermelho', 'verde', 'azul'],
['ciano', 'magenta', 'amarelo', 'preto'],
['matiz', 'saturação', 'brilho']
];
if (in_array(['vermelho', 'verde', 'azul'], $cores)) {
echo 'cores RGB encontradas';
} else {
echo 'cores RGB não encontradas';
}
cores RGB encontradas
Conclusão
Vimos que a função in_array() em PHP é útil para verificar se um determinado valor está presente em um array. Ela retorna true se o valor for encontrado e false caso contrário. Isso pode ser útil para realizar operações específicas em elementos de um array ou para verificar se um valor específico está presente em um conjunto de dados.
Porém, reforço novamente que as funções anteriores, array_key_exists, isset… validavam a existência das chaves do array, dos índices, e não dos valores como faz a função in_array.