Resumo : neste tutorial, você aprenderá como usar a in_array()
função PHP para verificar se existe um valor em um array.
Introdução à função in_array() do PHP
A in_array()
função retorna true
se existir um valor em uma matriz. Aqui está a sintaxe da in_array()
função:
in_array ( mixed $needle , array $haystack , bool $strict = false ) : bool
Linguagem de código: PHP ( php )
Nesta sintaxe:
$needle
é o valor pesquisado.$haystack
é a matriz a ser pesquisada.$strict
se for$strict
definido comotrue
, ain_array()
função usará astrict
comparação.
A in_array()
função procura por $needle
in $haystack
usando a comparação solta ( ==
). Para usar a comparação estrita ( ===
), você precisa definir o $strict
argumento como true
.
Se o valor a verificar for uma string, a in_array()
função irá procurá-lo com distinção entre maiúsculas e minúsculas.
A in_array()
função retorna true
se $needle
existir no $array
; caso contrário, ele retorna false
.
Exemplos de funções PHP in_array()
Vejamos alguns exemplos de uso da in_array()
função.
1) Exemplos simples de funções PHP in_array()
O exemplo a seguir usa a in_array()
função para verificar se o valor 'update'
está na $actions
matriz:
<?php
$actions = [
'new',
'edit',
'update',
'view',
'delete',
];
$result = in_array('update', $actions);
var_dump($result); // bool(true)
Linguagem de código: HTML, XML ( xml )
Ele retorna true
.
O exemplo a seguir retorna false
porque o publish
valor não existe na $actions
matriz:
<?php
$actions = [
'new',
'edit',
'update',
'view',
'delete',
];
$result = in_array('publish', $actions);
var_dump($result); // bool(false)
Linguagem de código: HTML, XML ( xml )
O exemplo a seguir retorna false
porque o valor 'New'
não existe na $actions
matriz. Observe que in_array()
compara as strings com distinção entre maiúsculas e minúsculas:
<?php
$actions = [
'new',
'edit',
'update',
'view',
'delete',
];
$result = in_array('New', $actions);
var_dump($result); // bool(false)
Linguagem de código: HTML, XML ( xml )
2) Usando a função PHP in_array() com o exemplo de comparação estrita
O exemplo a seguir usa a in_array()
função para encontrar o número 15
na $user_ids
matriz. Ele retorna true
porque a in_array()
função compara os valores usando a comparação solta ( ==
):
<?php
$user_ids = [10, '15', '20', 30];
$result = in_array(15, $user_ids);
var_dump($result); // bool(true)
Linguagem de código: HTML, XML ( xml )
Para usar a comparação estrita, você passa false
para o terceiro argumento ( $strict
) da in_array()
função da seguinte forma:
<?php
$user_ids = [10, '15', '20', 30];
$result = in_array(15, $user_ids, true);
var_dump($result); // bool(false)
Linguagem de código: HTML, XML ( xml )
Desta vez, a in_array()
função retorna false
.
3) Usar a função in_array() do PHP com o valor pesquisado é um exemplo de array
O exemplo a seguir usa a in_array()
função com o valor pesquisado como um array:
<?php
$colors = [
['red', 'green', 'blue'],
['cyan', 'magenta', 'yellow', 'black'],
['hue', 'saturation', 'lightness']
];
if (in_array(['red', 'green', 'blue'], $colors)) {
echo 'RGB colors found';
} else {
echo 'RGB colors are not found';
}
Linguagem de código: HTML, XML ( xml )
Saída:
RGB colors found
4) Exemplo de uso da função in_array() do PHP com um array de objetos
O seguinte define a Role
classe que possui duas propriedades $id
e $name
:
<?php
class Role
{
private $id;
private $name;
public function __construct($id, $name)
{
$this->id = $id;
$this->name = $name;
}
}
Linguagem de código: HTML, XML ( xml )
Este exemplo ilustra como usar a in_array()
função para verificar se um Role
objeto existe em uma matriz de Role
objetos:
<?php
// Role class
$roles = [
new Role(1, 'admin'),
new Role(2, 'editor'),
new Role(3, 'subscribe'),
];
if (in_array(new Role(1, 'admin'), $roles)) {
echo 'found it';
}
Linguagem de código: HTML, XML ( xml )
Saída:
found it!
Se você definir $strict
como true
, a in_array()
função comparará objetos usando suas identidades em vez de valores. Por exemplo:
// Role class
$roles = [
new Role(1, 'admin'),
new Role(2, 'editor'),
new Role(3, 'subscribe'),
];
if (in_array(new Role(1, 'admin'), $roles, true)) {
echo 'found it!';
} else {
echo 'not found!';
}
Linguagem de código: PHP ( php )
Saída:
not found!
Resumo
- Use a função PHP
in_array()
para verificar se existe um valor em um array.