这是更多基础PHP执行问题。
以下两种限制字符串大小的方法有哪些肯定或否定?
function max_length($string, $length) {
return (strlen($string) > $length)?substr($string, 0, $length):$string;
}
substr($string, 0, $length);
我担心的情况是字符串小于请求的长度。是否会导致缓冲区溢出错误?额外的空白?重复的字符?
我唯一知道的是速度方面,substr
至少比所提供的自定义功能快2倍。
答案 0 :(得分:3)
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);