读书人

正则表达式与字符串、数组处置效率

发布时间: 2012-12-26 14:39:29 作者: rapoo

正则表达式与字符串、数组处理效率

??????? 说起字符串处理效率,一般都认为使用正则速度慢。其实,完全是想当然的结果。因为,这些说法是没有经过实际检测的想当然。

??????? 要想使得PHP快速处理字符串。必须要使用的函数中,正则表达式函数是必不可少的。我们推荐,尽可能使用以下函数,以保证程序效率:

preg_match_all

preg_replace

preg_split
strtok
explode

????????使用这六个函数,可使字串处理出奇高效,特别是对于长文本处理。那么,为什么有人说正则表达式速度慢呢?

??????? 原因不外乎有以下几种:

??????? 第一、str_replace能完成的,使用preg_replace

????????第二、在for循环中使用preg_replace,则是更加致命的。

????????第三、能用preg_match_all的却只用preg_match,并在for循环中使用。

????????不用多举了。这样的实例太多了。

????????所以,我们需要注意的是:能preg_match_all,就绝对不在for循环中使用preg_match,能用preg_split则绝不使用explode,当然,能用strtok,我们也不用preg_split。

??????? 由此,就看你正则表达式的功底,以及对字串函数掌握的程度了。

?

??????? 对于数组也一样,array_filter效率相当低下,但如果preg_grep速度则是非常地快。

读书人网 >编程

热点推荐