PHP in_array

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 truese existir um valor em uma matriz. Aqui está a sintaxe da in_array()função:

in_array ( mixed $needle , array $haystack , bool $strict = false ) : boolLinguagem de código:  PHP  ( php )

Nesta sintaxe:

  • $needleé o valor pesquisado.
  • $haystacké a matriz a ser pesquisada.
  • $strictse for $strictdefinido como true, a in_array()função usará a strictcomparação.

A in_array()função procura por $needlein $haystackusando a comparação solta ( ==). Para usar a comparação estrita ( ===), você precisa definir o $strictargumento 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 truese $needleexistir 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 $actionsmatriz:

<?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 falseporque o publishvalor não existe na $actionsmatriz:

<?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 falseporque o valor 'New'não existe na $actionsmatriz. 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 15na $user_idsmatriz. Ele retorna trueporque 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 falsepara 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 Roleclasse que possui duas propriedades $ide $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 Roleobjeto existe em uma matriz de Roleobjetos:

<?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 $strictcomo 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.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *