如何使用PHP检查数组是否为空?

2022-08-30 05:49:51

players将为空或逗号分隔的列表(或单个值)。检查它是否为空的最简单方法是什么?我假设我可以在将数组提取到?在这种情况下,如果它是空的,跳过分解可能会更有效,但是为了论证,我将如何检查数组是否也是空的?$gameresult$gamerow$playerlist

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

答案 1

如果你只需要检查数组中是否有任何元素,你可以使用数组本身,由于PHP的松散类型,或者 - 如果你更喜欢更严格的方法 - 使用:count()

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

如果您需要在检查之前清除空值(通常这样做是为了防止奇怪的字符串):explode

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

答案 2

空数组在PHP中是假的,所以你甚至不需要像其他人建议的那样使用。empty()

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

PHP 的 empty() 确定变量是否存在或是否具有 falsey 值(如 、 、 、 、 等)。array()0nullfalse

在大多数情况下,您只想检查.如果变量可能尚未设置,并且您不会触发 ;IMO这通常是一个坏主意。!$emptyVarempty($emptyVar)E_NOTICE