检查一个字符串是否超过xx个字符而不通过strlen()来检查整个字符串?
问题描述:
我正在显示一些显示更多链接的非常非常长的文本字符串。所以我需要一种方法来确定字符串有多长。检查一个字符串是否超过xx个字符而不通过strlen()来检查整个字符串?
我知道我可以简单地使用strlen()
来调整字符串的大小,然后将返回的长度与50个字符的限制进行比较,但对于非常长的字符串,我认为这是一个性能拖延,尤其是考虑到将有近千个字符串根据用户请求进行测量。
那么有什么方法可以确保字符串是否超过50个字符,然后停止?
我知道我可以在内部函数中逐字串读字符串,但是在这种情况下是否有更好的做法,因为我认为这是一个相当常见的问题?
答
如果您需要检查字符串是否超过50个字符,那么您可以尝试检查第50个字符是否存在。
例如,对于长度为25个字符的字符串,我需要知道它是否长于20个字符。
$str = '123456789qwertyuiopasdfgh';
if($str[20] != '') echo 'It is longer';
else echo 'It is not';
我不知道,如果它的速度更快那么简单strlen的,但你可以尝试一些性能测试C:
UPD:另外,还要注意的是,指数从0
+1
请注意,这会在错误时触发通知。 – ishegg
如何启动[' SUBSTR()'](http://php.net/substr)? – bnahin