玩家要么是空的,要么是逗号分隔的列表(或者是单个值)。检查它是否为空的最简单的方法是什么?我假设我可以这样做,只要我取回$gameresult数组到$gamerow?在这种情况下,如果$playerlist是空的,跳过爆炸可能会更有效,但为了讨论,我如何检查数组是否为空?

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

当前回答

Count ($gamerow['players'])将为0。

其他回答

我认为确定数组是否为空的最好方法是像这样使用count():

if(count($array)) {
    return 'anything true goes here';
}else {
    return 'anything false'; 
}

你可以使用array_filter(),它适用于所有情况:

$ray_state = array_filter($myarray);

if (empty($ray_state)) {
    echo 'array is empty';
} else {
    echo 'array is not empty';
}

我不会重复这里已经说过的话,只是在PHP-7.3上测试和更有效的方法是!empty($myARR)或isset($myARR[0]),两者显示相同的速度。其他的都比较慢,包括array_key_exists($myARR[0])和比较$myARR !== Array() | $myARR !==[]。所以,我更喜欢empty(),简单快捷。

您可以使用以下php函数来检查数组是否为空

使用empty()函数

$variable = array();
    if(empty($variable)){
    echo("The array is empty.");
    }

OUTPUT:数组为空

使用sizeof()函数

$variable = array();
$arraysize = sizeof($variable);
echo("The size of the array is $arraysize. \n");
if(sizeof($variable) == 0)
echo("The array is empty.");

输出:

数组的大小为0。

数组为空。

Count ($gamerow['players'])将为0。