基本上我有这个字符串
$str="word1 word2 word3";
我需要
array(
'word1',
'word2',
'word3'
);
我做了这个功能:
function explodeStrict($delimiter,$string) {
return preg_split("/{$delimiter}/",$string,null,PREG_SPLIT_NO_EMPTY);
}
但我需要快速。并且此函数比简单的explode();
(在1mil循环内)慢2倍
我尝试过解析每个字符的香草风格,但它比explode();
你能想象一个像爆炸那样忽略空元素的函数吗?
凭借我的功能,1milion循环需要3.9秒。 爆炸需要2秒
由于
答案 0 :(得分:2)
假设:
$str="word1 word2 word3";
尝试:
return array_filter(explode(" ",$str));
答案 1 :(得分:1)
function explodeStrict($delimiter,$string) {
return preg_split("/" . preg_quote($delimiter, "/") . "+/", $string);
}
答案 2 :(得分:1)
$str = 'word1 word2 word3';
$str = strtok($str, ' ');
$x = array();
while ($str !== false)
{
$x[] = $str;
$str = strtok(' ');
}