Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

empty(3) [php man page]

EMPTY(3)								 1								  EMPTY(3)

empty - Determine whether a variable is empty

SYNOPSIS
bool empty (mixed $var) 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(3) does not generate a warning if the variable does not exist. PARAMETERS
o $var - Variable to be checked Note Prior to PHP 5.5, empty(3) only supports variables; anything else will result in a parse error. In other words, the follow- ing will not work: empty(trim($name)). Instead, use trim($name) == false. No warning is generated if the variable does not exist. That means empty(3) 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 things are considered to be empty: o "" (an empty string) o 0 (0 as an integer) o 0.0 (0 as a float) o "0" (0 as a string) o NULL o FALSE o array() (an empty array) o $var; (a variable declared, but without a value) CHANGELOG
+--------+---------------------------------------------------+ |Version | | | | | | | Description | | | | +--------+---------------------------------------------------+ | 5.5.0 | | | | | | | empty(3) now supports expressions, rather than | | | only variables. | | | | | 5.4.0 | | | | | | | Checking non-numeric offsets of strings returns | | | TRUE. | | | | +--------+---------------------------------------------------+ EXAMPLES
Example #1 A simple empty(3) / isset(3) 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(3) on String Offsets PHP 5.4 changes how empty(3) 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(3) on inaccessible object properties, the __isset() overloading method will be called, if declared. SEE ALSO
isset(3), __isset(), unset(3), array_key_exists(3), count(3), strlen(3), The type comparison tables. PHP Documentation Group EMPTY(3)

Check Out this Related Man Page

SPLOBJECTSTORAGE(3)							 1						       SPLOBJECTSTORAGE(3)

The SplObjectStorage class

INTRODUCTION
The SplObjectStorage class provides a map from objects to data or, by ignoring data, an object set. This dual purpose can be useful in many cases involving the need to uniquely identify objects. CLASS SYNOPSIS
SplObjectStorage SplObjectStorageCountableIteratorSerializableArrayAccess Methods o public void SplObjectStorage::addAll (SplObjectStorage $storage) o public void SplObjectStorage::attach NULL (object $object, [mixed $data]) o public bool SplObjectStorage::contains (object $object) o public int SplObjectStorage::count (void ) o public object SplObjectStorage::current (void ) o public void SplObjectStorage::detach (object $object) o public string SplObjectStorage::getHash (object $object) o public mixed SplObjectStorage::getInfo (void ) o public int SplObjectStorage::key (void ) o public void SplObjectStorage::next (void ) o public bool SplObjectStorage::offsetExists (object $object) o public mixed SplObjectStorage::offsetGet (object $object) o public void SplObjectStorage::offsetSet NULL (object $object, [mixed $data]) o public void SplObjectStorage::offsetUnset (object $object) o public void SplObjectStorage::removeAll (SplObjectStorage $storage) o public void SplObjectStorage::removeAllExcept (SplObjectStorage $storage) o public void SplObjectStorage::rewind (void ) o public string SplObjectStorage::serialize (void ) o public void SplObjectStorage::setInfo (mixed $data) o public void SplObjectStorage::unserialize (string $serialized) o public bool SplObjectStorage::valid (void ) EXAMPLES
Example #1 SplObjectStorage as a set <?php // As an object set $s = new SplObjectStorage(); $o1 = new StdClass; $o2 = new StdClass; $o3 = new StdClass; $s->attach($o1); $s->attach($o2); var_dump($s->contains($o1)); var_dump($s->contains($o2)); var_dump($s->contains($o3)); $s->detach($o2); var_dump($s->contains($o1)); var_dump($s->contains($o2)); var_dump($s->contains($o3)); ?> The above example will output: bool(true) bool(true) bool(false) bool(true) bool(false) bool(false) Example #2 SplObjectStorage as a map <?php // As a map from objects to data $s = new SplObjectStorage(); $o1 = new StdClass; $o2 = new StdClass; $o3 = new StdClass; $s[$o1] = "data for object 1"; $s[$o2] = array(1,2,3); if (isset($s[$o2])) { var_dump($s[$o2]); } ?> The above example will output: array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) } PHP Documentation Group SPLOBJECTSTORAGE(3)
Man Page