如何使用PHP检查数组是否为空?
players
将为空或逗号分隔的列表(或单个值)。检查它是否为空的最简单方法是什么?我假设我可以在将数组提取到?在这种情况下,如果它是空的,跳过分解可能会更有效,但是为了论证,我将如何检查数组是否也是空的?$gameresult
$gamerow
$playerlist
$gamerow = mysql_fetch_array($gameresult);
$playerlist = explode(",", $gamerow['players']);
players
将为空或逗号分隔的列表(或单个值)。检查它是否为空的最简单方法是什么?我假设我可以在将数组提取到?在这种情况下,如果它是空的,跳过分解可能会更有效,但是为了论证,我将如何检查数组是否也是空的?$gameresult
$gamerow
$playerlist
$gamerow = mysql_fetch_array($gameresult);
$playerlist = explode(",", $gamerow['players']);
如果你只需要检查数组中是否有任何元素,你可以使用数组本身,由于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
}
空数组在PHP中是假的,所以你甚至不需要像其他人建议的那样使用。empty()
<?php
$playerList = array();
if (!$playerList) {
echo "No players";
} else {
echo "Explode stuff...";
}
// Output is: No players
PHP 的 empty()
确定变量是否存在或是否具有 falsey 值(如 、 、 、 、 等)。array()
0
null
false
在大多数情况下,您只想检查.如果变量可能尚未设置,并且您不会触发 ;IMO这通常是一个坏主意。!$emptyVar
empty($emptyVar)
E_NOTICE