In PHP, how would one check to see if a specified item (by name, I think - number would probably also work) in an array is empty?
+5
A:
if(empty($array['item']))
or
if(!isset($array['item']))
or
if(!array_key_exists('item', $array))
depending on what precisely you mean by "empty". See the docs for empty(), isset() and array_key_exists() as to what exactly they mean.
chaos
2009-10-24 00:40:52
OK. What kinds of empty are there?
Nathaniel
2009-10-24 00:42:04
Addendum: I think the item(s) I'm dealing with look like => '',What would that be?
Nathaniel
2009-10-24 00:44:21
That will be empty, set, and existant.
chaos
2009-10-24 00:45:11
Alright, time to read some stuff. Thanks.
Nathaniel
2009-10-24 00:47:00
+6
A:
Types of empty (from PHP Manual). The following are considered empty for any variable:
- "" (an empty string)
- 0 (0 as an integer)
- "0" (0 as a string)
- NULL
- FALSE
- array() (an empty array)
- var $var; (a variable declared, but without a value in a class)
So take the example below:
$arr = array(
'ele1' => 'test',
'ele2' => false
);
1) $arr['ele3'] is not set. So:
isset($arr['ele3']) === false && empty($arr['ele3']) === true
it is not set and empty. empty() checks for whether the variable is set and empty or not.
2) $arr['ele2'] is set, but empty. So:
isset($arr['ele2']) === true && empty($arr['ele2']) === true
1) $arr['ele1'] is set and not empty:
isset($arr['ele1']) === true && empty($arr['ele1']) === false
if you wish to check whether is it empty, simply use the empty() function.
thephpdeveloper
2009-10-24 00:52:14