strlen 是 PHP 中用于获取字符串长度的内置函数,其核心特点和用法如下:
1. 基本功能
作用:返回字符串的字节数(非字符数),适用于单字节字符(如ASCII)。
语法:
int strlen(string $string)示例:
echo strlen("Hello"); // 输出:52. 重要特性
对多字节字符的局限
若字符串包含中文等多字节字符(UTF-8),strlen会返回字节数而非实际字符数:
echo strlen("你好"); // UTF-8中每个中文占3字节,输出:6解决方案:使用
mb_strlen()函数指定编码:
echo mb_strlen("你好", "UTF-8"); // 输出:2空字符串与特殊值
空字符串返回
0:strlen("") → 0非字符串参数会强制转换(如
null转为空字符串):
echo strlen(null); // 输出:0
性能优化strlen 是O(1)时间复杂度操作,因PHP内部记录字符串长度,无需遍历计算。
3. 常见应用场景
验证输入长度
if (strlen($_POST['password']) < 8) {
echo "密码至少8个字符";
}循环处理字符串
for ($i = 0; $i < strlen($text); $i++) {
echo $text[$i];
}截断长文本
$truncated = substr($text, 0, strlen($text) - 10);
4. 注意事项
二进制安全:可安全用于二进制数据(如文件内容)。
编码敏感:处理多字节文本时务必配合
mb_*函数族。
如需字符数统计(如中文),优先选择 mb_strlen() 并明确指定编码(如UTF-8)。