将Substr设置为大于字符串长度

时间:2009-03-22 00:06:30

标签: php

这是更多基础PHP执行问题。

以下两种限制字符串大小的方法有哪些肯定或否定

function max_length($string, $length) {
  return (strlen($string) > $length)?substr($string, 0, $length):$string;
}

substr($string, 0, $length);

我担心的情况是字符串小于请求的长度。是否会导致缓冲区溢出错误?额外的空白?重复的字符?

我唯一知道的是速度方面,substr至少比所提供的自定义功能快2倍

2 个答案:

答案 0 :(得分:3)

正如您在http://us2.php.net/substr

中所看到的

If length  is given and is positive, the string returned will contain
at most length  characters beginning from start  (depending on the
length of string ). 

这意味着你不会得到任何额外的角色,只是你要求的角色。

答案 1 :(得分:2)

不,无需担心。如果指定的长度参数高于字符串的长度 - 整个字符串,则不返回任何其他内容。所以请继续:

$maxString = substr($string, 0, $length);