如何使用PHP检查数组是否为空?players将为空或以逗号分隔的列表(或单个值)。检查它是否为空的最简单方法是什么?我假设我可以在将$gameresult数组取入后立即执行此操作$gamerow?在这种情况下,跳过爆炸它可能更有效,$playerlist如果它是空的,但为了参数,我如何检查数组是否也是空的?$gamerow = mysql_fetch_array($gameresult);$playerlist = explode(",", $gamerow['players']);
3 回答
![?](http://img1.sycdn.imooc.com/545865620001c45402760276-100-100.jpg)
慕容森
TA贡献1853条经验 获得超18个赞
如果您只需要检查数组中是否有任何元素
if (empty($playerlist)) { // list is empty.}
如果您需要在检查之前清除空值(通常是为了防止explode
奇怪的字符串):
foreach ($playerlist as $key => $value) { if (empty($value)) { unset($playerlist[$key]); }}if (empty($playerlist)) { //empty array}
![?](http://img1.sycdn.imooc.com/545861f00001be3402200220-100-100.jpg)
大话西游666
TA贡献1817条经验 获得超14个赞
在我看来,索引数组的最简单方法是:
if ($array) { //Array is not empty... }
如果数组不为空,则数组上的“if”条件将评估为true;如果数组为空,则评估为false。这是不是适用于关联数组。
![?](http://img1.sycdn.imooc.com/54586870000183e302200220-100-100.jpg)
牧羊人nacy
TA贡献1862条经验 获得超7个赞
如果您要排除假行或空行(例如0 => ''
),使用empty()
失败的地方,您可以尝试:
if (array_filter($playerlist) == []) { // Array is empty!}
array_filter()
:如果没有提供回调,则将删除数组的所有条目等于FALSE(请参阅转换为布尔值)。
如果你想删除所有NULL,FALSE和空字符串(''
),但保留零值(0
),你可以strlen
用作回调,例如:
$is_empty = array_filter($playerlist, 'strlen') == [];
- 3 回答
- 0 关注
- 720 浏览
添加回答
举报
0/150
提交
取消