English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
isset() A função é usada para verificar se a variável foi configurada e não é NULL.
Se uma variável já foi liberada usando unset() e, em seguida,�断 usando isset(), retornará FALSE.
Se usar isset() para testar uma variável configurada como NULL, retornará FALSE.
Além disso, é importante notar que o caractere nulo ("\0") não é equivalente ao constante NULL do PHP.
Requisitos de versão do PHP: PHP 4, PHP 5, PHP 7
bool isset ( misto $var [, misto $... ] )
Descrição dos parâmetros:
Se forem passados vários parâmetros a uma vez, isset() retornará TRUE apenas se todos os parâmetros forem configurados, calculando o processo da esquerda para a direita, e parará imediatamente se encontrar uma variável não configurada no meio.
Se a variável especificada existir e não for NULL, retornará TRUE; caso contrário, retornará FALSE.
<?php $var = ''; // O resultado é TRUE, portanto o texto seguinte será impresso. if (isset($var)) { echo "A variável foi configurada." . PHP_EOL; } // N os exemplos a seguir, usaremos var_dump para imprimir o valor de retorno de isset(). // o valor de retorno de isset(). $a = "test"; $b = "anothertest"; var_dump(isset($a)); // TRUE var_dump(isset($a, $b)); // TRUE unset ($a); var_dump(isset($a)); // FALSE var_dump(isset($a, $b)); // FALSE $foo = NULL; var_dump(isset($foo)); // FALSE ?>
os resultados de saída são:
a variável foi configurada. bool(true) bool(true) bool(false) bool(false) bool(false)
Isso também é válido para elementos de array:
<?php $a = array ('test' => 1, 'hello' => NULL, 'pie' => array('a' => 'apple')); var_dump(isset($a['test'])); // TRUE var_dump(isset($a['foo'])); // FALSE var_dump(isset($a['hello'])); // FALSE // O valor da chave 'hello' é NULL, então é considerado não configurado // Se você quiser detectar uma chave NULL, pode tentar o método a seguir. var_dump(array_key_exists('hello', $a)); // TRUE // detecção de nível mais profundo var_dump(isset($a['pie']['a'])); // TRUE var_dump(isset($a['pie']['b'])); // FALSE var_dump(isset($a['cake']['a']['b'])); // FALSE ?>
os resultados de saída são:
bool(true) bool(false) bool(false) bool(true) bool(true) bool(false) bool(false)
PHP 5.4 mudou o comportamento do isset() ao usar deslocamento de strings.
<?php $expected_array_got_string = 'somestring'; var_dump(isset($expected_array_got_string['some_key'])); var_dump(isset($expected_array_got_string[0])); var_dump(isset($expected_array_got_string['0'])); var_dump(isset($expected_array_got_string[0.));5]); var_dump(isset($expected_array_got_string['0.));5 var_dump(isset($expected_array_got_string['0 Mostel'])); ?>
Os exemplos acima em PHP 5.3 saída dentro de:
bool(true) bool(true) bool(true) bool(true) bool(true) bool(true)
Os exemplos acima em PHP 5.4 saída dentro de:
bool(false) bool(true) bool(true) bool(true) bool(false) bool(false)