REFERENCE PHP

dernière mise à jour de la documentation : décembre 2014
.NET | Apache | APC | APD | Tableaux | Aspell | BBCode | BC math | bcompiler | Bzip2 | Calendrier | CCVS | Classes et Objets | Classkit | ClibPDF | COM | Fonctions Crack | ctype | CURL | Cybercash | CyberMUT | Cyrus IMAP | Date/heure | DB++ | DBA | dBase | DBM | dbx | DIO | Dossiers | DOM | DOM XML | enchant | Erreurs | EXIF | Expect | FAM | FDF | Fileinfo | filePro | Système de fichiers | Filter | Firebird/InterBase | Firebird/Interbase (PDO) | FriBiDi | FrontBase | FTP | Fonctions | GeoIP | gettext | GMP | gnupg | gopher | haru | hash | http | Hyperwave | Hyperwave API | i18n | IBM (PDO) | ibm_ db2 | iconv | id3 | Fonctions IIS | Images | Imagick Image Library | IMAP | Informix | Informix (PDO) | Ingres II | Interface IRC | Intégration de Java avec PHP | JSON | kadm5 | LDAP | libxml | Lotus Notes | LZF | Mail | Traitement d'Email | Maths | MaxDB | MCAL | mcrypt | MCVE | Memcache | mhash | Mimetype | Ming (Flash) | Divers | mnoGoSearch | MS SQL Serveur | MS SQL Server (PDO) | Msession | mSQL | Chaînes de caractères multi-octets | muscat | MySQL | MySQL (PDO) | MySQLi | Fonctions ncurses | Réseau | Newt | NSAPI | agrégation d'objets | Surcharge d'objets | OCI8 | ODBC | ODBC et DB2 (PDO) | OGG/Vorbis | openal | OpenSSL | Oracle | Oracle (PDO) | Bufferisation de sortie | OvrimosSQL | Paradox | Parsekit | PCNTL | PCRE | PDF | PDO | phar | Options et informations PHP | POSIX | Regex POSIX | PostgreSQL | PostgreSQL (PDO) | Impressions | Exécution de programmes | PS | Pspell | Fonctions qtdom | radius | Rar | Readline | GNU Recode | RPMReader | runkit | SAM | Satellite | SCA | SDO | SDO DAS XML | SDO-DAS-Relational | Sémaphore | SESAM | Session PgSQL | Sessions | shmop | SimpleXML | SNMP | SOAP | Sockets | spl | SQLite | SQLite (PDO) | ssh2 | statistics | Flux | Chaînes | SVN | SWF | swish | Sybase | TCP Wrappers | Tidy | Tokenizer | Unicode | Fonctions URL | Gestion des variables | Paiement par Verisign | vpopmail | W32api | WDDX | win32ps | win32service | xattr | xdiff | XML | XML-RPC | XMLReader | XMLWriter | XSL | XSLT | YAZ | NIS | Zip | Zlib



empty

(PHP 4, PHP 5)

emptyDétermine si une variable est vide

Description

bool empty ( mixed $var )

Détermine si une variable est considérée comme vide. Une variable est considérée comme vide si elle n'existe pas, ou si sa valeur équivaut à FALSE. La fonction empty() ne génère pas d'alerte si la variable n'existe pas.

Liste de paramètres

var

Variable à vérifier.

Note:

Avant PHP 5.5, la fonction empty() ne supportait que les variables ; tout autre type retournait une erreur d'analyse. En d'autres termes, ce qui suit ne fonctionnait pas : empty(trim($name)). A la place, utilisez trim($name) == false.

Aucune alerte n'est générée si la variable n'existe pas. Cela signifie que empty() est strictement équivalent à !isset($var) || $var == false.

Valeurs de retour

Retourne FALSE si var existe et est non-vide, et dont la valeur n'est pas zéro.

Ce qui suit est considéré comme étant vide :

  • "" (une chaîne vide)
  • 0 (0 en tant qu'entier)
  • 0.0 (0 en tant que nombre à virgule flottante)
  • "0" (0 en tant que chaîne de caractères)
  • NULL
  • FALSE
  • array() (un tableau vide)
  • $var; (une variable déclarée, mais sans valeur)

Historique

Version Description
5.5.0

empty() supporte maintenant les expressions, et plus seulement les variables.

5.4.0

La vérification des positions non-numériques d'une chaîne retourne maintenant TRUE.

Exemples

Exemple #1 Une comparaison simple empty() / isset().

<?php
$var 
0;
                   
// Evalué à vrai car $var est vide
if (empty($var)) {
  echo 
'$var vaut soit 0, vide, ou pas définie du tout';
}
                   
// Evalué à vrai car $var est défini
if (isset($var)) {
  echo 
'$var est définie même si elle est vide';
}
?>

Exemple #2 empty() sur des positions dans une chaîne

PHP 5.4 modifie le comportement de la fonction empty() lors de l'utilisation de positions dans une chaîne.

<?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']));
?>

Résultat de l'exemple ci-dessus en PHP 5.3 :


bool(false)

bool(false)

bool(false)

bool(false)

bool(false)

bool(false)

Résultat de l'exemple ci-dessus en PHP 5.4 :


bool(true)

bool(false)

bool(false)

bool(false)

bool(true)

bool(true)

Notes

Note: Comme ceci est une structure du langage, et non pas une fonction, il n'est pas possible de l'appeler avec les fonctions variables.

Note:

Lors de l'utilisation de cette fonction sur des propriétés d'objet inaccessibles, la méthode magique __isset() sera appelée, si elle existe.

Voir aussi

Exemples d'utilisation