empty
(PHP 4, PHP 5, PHP 7)
empty — Determine whether a variable is empty
Description
Determine whether a variable is considered to be empty. A variable is considered empty if it does not exist or if its value equals FALSE
. empty() does not generate a warning if the variable does not exist.
Parameters
-
var
-
Variable to be checked
Note:
Prior to PHP 5.5, empty() only supports variables; anything else will result in a parse error. In other words, the following will not work: empty(trim($name)). Instead, use trim($name) == false.
No warning is generated if the variable does not exist. That means empty() is essentially the concise equivalent to !isset($var) || $var == false.
Return Values
Returns FALSE
if var
exists and has a non-empty, non-zero value.
Otherwise returns TRUE
.
The following values are considered to be empty:
- "" (an empty string)
- 0 (0 as an integer)
- 0.0 (0 as a float)
- "0" (0 as a string)
NULL
FALSE
- array() (an empty array)
Changelog
Version | Description |
---|---|
5.5.0 |
empty() now supports expressions, rather than only variables. |
5.4.0 |
Checking non-numeric offsets of strings returns |
Examples
Example #1 A simple empty() / isset() comparison.
<?php
$var = 0;
// Evaluates to true because $var is empty
if (empty($var)) {
echo '$var is either 0, empty, or not set at all';
}
// Evaluates as true because $var is set
if (isset($var)) {
echo '$var is set even though it is empty';
}
?>
Example #2 empty() on String Offsets
PHP 5.4 changes how empty() behaves when passed string offsets.
<?php
$expected_array_got_string = 'somestring';
var_dump(empty($expected_array_got_string['some_key']));
var_dump(empty($expected_array_got_string[0]));
var_dump(empty($expected_array_got_string['0']));
var_dump(empty($expected_array_got_string[0.5]));
var_dump(empty($expected_array_got_string['0.5']));
var_dump(empty($expected_array_got_string['0 Mostel']));
?>
Output of the above example in PHP 5.3:
bool(false) bool(false) bool(false) bool(false) bool(false) bool(false)
Output of the above example in PHP 5.4:
bool(true) bool(false) bool(false) bool(false) bool(true) bool(true)
Notes
Note: Because this is a language construct and not a function, it cannot be called using variable functions.
Note:
When using empty() on inaccessible object properties, the __isset() overloading method will be called, if declared.
See Also
- isset() - Determine if a variable is set and is not NULL
- __isset()
- unset() - Unset a given variable
- array_key_exists() - Checks if the given key or index exists in the array
- count() - Count all elements in an array, or something in an object
- strlen() - Get string length
- The type comparison tables
Version en cache
21/11/2024 14:56:05 Cette version de la page est en cache (à la date du 21/11/2024 14:56:05) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-empty.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.