phparraysis-empty

How to check whether an array is empty using PHP?


players will either be empty or a comma separated list (or a single value). What is the easiest way to check if it's empty? I'm assuming I can do so as soon as I fetch the $gameresult array into $gamerow? In this case it would probably be more efficient to skip exploding the $playerlist if it's empty, but for the sake of argument, how would I check if an array is empty as well?

$gamerow = mysql_fetch_array($gameresult);
$playerlist = explode(",", $gamerow['players']);

Solution

  • If you just need to check if there are ANY elements in the array, you can use either the array itself, due to PHP's loose typing, or - if you prefer a stricter approach - use count():

    if (!$playerlist) {
         // list is empty.
    }
    if (count($playerlist) === 0) {
         // list is empty.
    }
    

    If you need to clean out empty values before checking (generally done to prevent explodeing weird strings):

    foreach ($playerlist as $key => $value) {
        if (!strlen($value)) {
           unset($playerlist[$key]);
        }
    }
    if (!$playerlist) {
       //empty array
    }