首页 > 解决方案 > 为什么爆炸会返回整个数组?

问题描述

此代码返回整个数组而不是 false 或 NULL,因为掩码不匹配;

$a = " 6 . 2 . 828194 . 2 . 3 .";

var_dump(explode(';', $a));

如何解决此功能?

结果是:

array(1) { [0]=> string(25) " 6 . 2 . 828194 . 2 . 3 ." }

标签: phpphp-7

解决方案


您可以在爆炸之前测试分隔符是否存在,如果不存在则执行您想要的操作。

$a = " 6 . 2 . 828194 . 2 . 3 .";
$delim = ";";

if(strpos($a, $delim) !== false){
    var_dump(explode($delim, $a));
}else{
    echo "null";
    // Or
    // $a[] = Null;
}

结果:null


推荐阅读