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

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

当前回答

我已经用以下代码解决了这个问题。

$catArray=array();                          

$catIds=explode(',',$member['cat_id']);
if(!empty($catIds[0])){
foreach($catIds as $cat_id){
$catDetail=$this->Front_Category->get_category_detail($cat_id);
$catArray[]=$catDetail['allData']['cat_title'];
}
echo implode(',',$catArray);
}

其他回答

 $gamerow = mysql_fetch_array($gameresult);

if (!empty(($gamerow['players'])) {
   $playerlist = explode(",", $gamerow['players']);
}else{
 
  // do stuff if array is empty
}

我使用这个代码

$variable = array();

if( count( $variable ) == 0 )
{
    echo "Array is Empty";
}
else
{
    echo "Array is not 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。

数组为空。

在PHP中,空数组是错误的,因此甚至不需要像其他人建议的那样使用empty()。

<?php
$playerList = array();
if (!$playerList) {
    echo "No players";
} else {
    echo "Explode stuff...";
}
// Output is: No players

PHP的empty()确定变量是否存在或值是否为假值(如array(), 0, null, false等)。

在大多数情况下,你只想检查!$emptyVar。使用empty($emptyVar)如果变量可能没有设置,你不愿意触发一个E_NOTICE;在我看来,这是个坏主意。

为什么没有人回答:

$array = [];

if($array == []) {
    // array is empty
}