Resumo : neste tutorial, você aprenderá como usar a array_key_exists()
função PHP para determinar se existe uma chave em um array.
Introdução à função array_key_exists() do PHP
A função PHP array_key_exists()
verifica se existe uma chave em um array . Aqui está a sintaxe da array_key_exists()
função:
array_key_exists ( string|int $key , array $array ) : bool
Linguagem de código: PHP ( php )
Nesta sintaxe:
$key
é a chave para verificar.$array
é um array com chaves para verificar.
A array_key_exists()
função retorna true
se $key
existir no arquivo $array
. Caso contrário, ele retorna false
.
Observe que a array_key_exists()
função procura a chave na primeira dimensão da $array
única. Se the $array
for multidimensional , a array_key_exists()
função não encontrará the $key
na dimensão aninhada.
Exemplo de função PHP array_key_exists()
O exemplo a seguir usa a array_key_exists()
função para verificar se a chave 'admin'
existe no $roles
array:
<?php
$roles = [
'admin' => 1,
'approver' => 2,
'editor' => 3,
'subscriber' => 4
];
$result = array_key_exists('admin', $roles);
var_dump($result); // bool(true)
Linguagem de código: HTML, XML ( xml )
O exemplo a seguir retorna false
porque o $roles
array não possui a chave publisher
:
<?php
$roles = [
'admin' => 1,
'approver' => 2,
'editor' => 3,
'subscriber' => 4
];
$result = array_key_exists('publisher', $roles);
var_dump($result); // bool(false)
Linguagem de código: HTML, XML ( xml )
PHP array_key_exists() vs isset()
Se o valor do elemento da matriz não for null
, ambos array_key_exists()
e isset()
retornarão true
se a chave existir em uma matriz e false
se não existir. Por exemplo:
<?php
$roles = [
'admin' => 1,
'approver' => 2,
'editor' => 3,
'subscriber' => 4
];
var_dump(isset($roles['approver'])); // bool(true)
var_dump(array_key_exists('approver', $roles)); // bool(true)
Linguagem de código: HTML, XML ( xml )
O exemplo a seguir retorna false
porque a user
chave não existe na $roles
matriz:
<?php
$roles = [
'admin' => 1,
'approver' => 2,
'editor' => 3,
'subscriber' => 4
];
var_dump(isset($roles['user'])); // bool(false)
var_dump(array_key_exists('user', $roles)); // bool(false)
Linguagem de código: HTML, XML ( xml )
No entanto, se o valor de uma chave for null
, isset()
retornará false
enquanto a array_key_exists()
função retornará true
. Por exemplo:
<?php
$post = [
'title' => 'PHP array_key_exists',
'thumbnail' => null
];
var_dump(array_key_exists('thumbnail', $post)); // bool(true)
var_dump(isset($post['thumbnail'])); // bool(false)
Linguagem de código: HTML, XML ( xml )
Resumo
- Use a função PHP
array_key_exists()
para verificar se existe uma chave em um array.