Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用strlen()检查长度是否超过xx个字符的字符串,而不检查整个字符串?_Php_String - Fatal编程技术网

Php 使用strlen()检查长度是否超过xx个字符的字符串,而不检查整个字符串?

Php 使用strlen()检查长度是否超过xx个字符的字符串,而不检查整个字符串?,php,string,Php,String,我正在显示一些非常长的文本字符串,带有“显示更多”链接。所以我需要一种方法来找出绳子的长度 我知道我可以简单地使用strlen()来调整字符串的大小,然后将返回的长度与50个字符的限制进行比较,但对于非常长的字符串,我认为这是一个性能阻力,特别是考虑到每个用户请求有近1000个字符串需要测量 那么,有没有办法确保字符串长度超过50个字符,然后停止 我知道我可以制作一个内部函数来逐个字符检查字符串,但是在这种情况下有没有更好的做法,因为我认为这是一个相当常见的问题?如果您只需要检查字符串是否长于5

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

我知道我可以简单地使用
strlen()
来调整字符串的大小,然后将返回的长度与50个字符的限制进行比较,但对于非常长的字符串,我认为这是一个性能阻力,特别是考虑到每个用户请求有近1000个字符串需要测量

那么,有没有办法确保字符串长度超过50个字符,然后停止


我知道我可以制作一个内部函数来逐个字符检查字符串,但是在这种情况下有没有更好的做法,因为我认为这是一个相当常见的问题?

如果您只需要检查字符串是否长于50个字符,那么您可以试着检查第50个字符是否存在

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

    $str = '123456789qwertyuiopasdfgh';
    if($str[20] != '') echo 'It is longer';
    else echo 'It is not';
我不确定它是否比simple strlen快,但您可以尝试一些性能测试C:


UPD:另外,请注意索引从0开始,怎么样?注意,如果为false,这将触发通知。