检查字符串是否长于xx字符而不通过strlen()遍历整个字符串?

时间:2017-09-24 04:02:05

标签: php string

我正在显示一些非常长的文本字符串,并显示更多链接。所以我需要一种方法来找出字符串的长度。

我知道我可以简单地使用functools.partial(...)来调整字符串的大小,然后将返回的长度与50个字符的限制进行比较,但对于非常长的字符串,我认为它会影响性能,特别是考虑到根据用户要求测量近千个字符串。

那么有没有办法确定字符串是否超过50个字符然后停止?

我知道我可以使用内部函数来逐字逐句查找字符串,但在这种情况下是否有更好的练习,因为我认为这是一个相当常见的问题?

1 个答案:

答案 0 :(得分:1)

如果您需要检查字符串是否超过50个字符,那么您可以尝试检查第50个字符是否存在。

例如,对于25个字符长的字符串,我需要知道它是否超过20个字符。

    $str = '123456789qwertyuiopasdfgh';
    if($str[20] != '') echo 'It is longer';
    else echo 'It is not';

我不确定它是否比简单的strlen快,但你可以尝试一些性能测试C:

UPD:另请注意,索引从0开始