PHP的explode函数返回在一些提供的子字符串上拆分的字符串数组.它会像这样返回空字符串:
var_dump(explode('/', '1/2//3/'));
array(5) {
[0]=>
string(1) "1"
[1]=>
string(1) "2"
[2]=>
string(0) ""
[3]=>
string(1) "3"
[4]=>
string(0) ""
}
Run Code Online (Sandbox Code Playgroud)
是否有一些不同的函数或选项或任何会返回除空字符串之外的所有内容?
var_dump(different_explode('/', '1/2//3/'));
array(3) {
[0]=>
string(1) "1"
[1]=>
string(1) "2"
[2]=>
string(1) "3"
}
Run Code Online (Sandbox Code Playgroud) $str = "This is a string";
$words = explode(" ", $str);
Run Code Online (Sandbox Code Playgroud)
工作正常,但空间仍然进入数组:
$words === array ('This', 'is', 'a', '', '', '', 'string');//true
Run Code Online (Sandbox Code Playgroud)
我更喜欢只有没有空格的单词,并保留有关空格数量的信息.
$words === array ('This', 'is', 'a', 'string');//true
$spaces === array(1,1,4);//true
Run Code Online (Sandbox Code Playgroud)
刚添加:(1, 1, 4)表示第一个单词后面的一个空格,第二个单词后面的一个空格和第三个单词后面的4个空格.
有什么方法可以快速完成吗?
谢谢.