玩家要么是空的,要么是逗号分隔的列表(或者是单个值)。检查它是否为空的最简单的方法是什么?我假设我可以这样做,只要我取回$gameresult数组到$gamerow?在这种情况下,如果$playerlist是空的,跳过爆炸可能会更有效,但为了讨论,我如何检查数组是否为空?
$gamerow = mysql_fetch_array($gameresult);
$playerlist = explode(",", $gamerow['players']);
玩家要么是空的,要么是逗号分隔的列表(或者是单个值)。检查它是否为空的最简单的方法是什么?我假设我可以这样做,只要我取回$gameresult数组到$gamerow?在这种情况下,如果$playerlist是空的,跳过爆炸可能会更有效,但为了讨论,我如何检查数组是否为空?
$gamerow = mysql_fetch_array($gameresult);
$playerlist = explode(",", $gamerow['players']);
当前回答
$status = "";
$new_array = array();
if(!empty($new_array)){
$status = "1"; // not a blank array
}
else{
$status = "0"; // blank array
}
其他回答
如果你想排除假行或空行(例如0 => "),在使用empty()将失败的情况下,你可以尝试:
if (array_filter($playerlist) == []) {
// Array is empty!
}
array_filter():如果没有提供回调,数组中所有等于FALSE的条目(参见转换为布尔值)将被删除。
如果你想删除所有NULL, FALSE和空字符串("),但保留零值(0),你可以使用strlen作为回调,例如:
$is_empty = array_filter($playerlist, 'strlen') == [];
如果你要检查数组内容,你可以使用:
$arr = array();
if(!empty($arr)){
echo "not empty";
}
else
{
echo "empty";
}
在这里看到的: http://codepad.org/EORE4k7v
在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;在我看来,这是个坏主意。
在我看来,索引数组的最简单的方法是:
if ($array) {
//Array is not empty...
}
如果数组不为空,则数组上的'if'条件将计算为true,如果数组为空则为false。这不适用于关联数组。
$gamerow = mysql_fetch_array($gameresult);
if (!empty(($gamerow['players'])) {
$playerlist = explode(",", $gamerow['players']);
}else{
// do stuff if array is empty
}