我在使用php explode函数时遇到了一些问题。
我要爆炸的字符串是:
,.stl,.ppl
目前,我正在使用爆炸功能:
explode(',',',.stl,.ppl');
不幸的是,这是有问题的,它会返回三个字符串:
array(3) { [0]=> string(0) "" [1]=> string(4) ".stl" [2]=> string(4) ".ppl" }
为什么第一个字符串为空?
显而易见的解决方案是跳过数组的第一个元素,但是,为什么我需要这样做呢?
explode()
函数是否应该自动删除此空白数组,或者根本不生成它?
答案 0 :(得分:16)
这是正常行为。您需要了解空字符串是有效的字符串值,因此PHP返回它。
对于可能不存在元素的情况,保留结构非常有用。
如果你不想要它,你可以简单地过滤它:
$array = array_filter( explode(",", $string ));
但请注意,这将过滤掉任何评估为false的内容(例如0)。
答案 1 :(得分:5)
您还可以在字符串explode(',',trim(',.str,.ppl'),',')