在PHP中拆分字符串的最快捷,最有效的方法

时间:2012-05-04 11:23:17

标签: php string

我需要通过找到第一个字符来分割字符串。编写它的最快方法是什么?

字符串示例:

$string = 'Some text here| some text there--and here|another text here';

预期结果:

$new_string = 'Some text here';

这是一个解决方案,我有。有没有更有效的方法呢?

$explode = explode('|', $string);  
$new_string = explode[0];

5 个答案:

答案 0 :(得分:2)

使用strpos()substr()Strpos()会在找到第一个匹配项后立即返回,而explode()必须遍历整个字符串。

答案 1 :(得分:2)

使用strstr()

strstr($string, "|", true);

将返回所有内容,直到第一个管道(|)。

答案 2 :(得分:1)

$string = 'Some text here| some text there--and here|another text here';
$string = substr($string, 0, strpos($string,'|'));
print $string;

编辑:使用strstr()更好。

答案 3 :(得分:1)

爆炸可以变为单行

list($first,) = explode('|', $string,2);
然而,strtok看起来最简洁的解决方案。

至于效率 - 根本不重要,选择执行这种可忽略不计的操作的方式。

来自处理数据的数量的效率低下。理智的程序员会避免不惜任何代价处理大量数据。从效率的角度来看,无论其他什么都是重要的垃圾。

答案 4 :(得分:0)

最好的选择是:

$first = strtok($string, '|');

如果你愿意,你可以去爆炸:

$explode = explode('|', $string, 1);

strpos()substr()strstr()对此也有好处。