我对以下字符串函数感到困惑
echo strlen("l\n2"); //give 3 in output
然而
echo strlen('l\n2'); //give 4 in output
谁能解释为什么?
我对以下字符串函数感到困惑
echo strlen("l\n2"); //give 3 in output
然而
echo strlen('l\n2'); //give 4 in output
谁能解释为什么?
因为当您使用单引号 (' ') 时,PHP 不会将 扩展\n
为单个换行符,而在双引号 (" ") 中,\n
会转换为换行符(即单个字符),从而给出 3 个字符
取自 PHP 的字符串文档: http: //php.net/manual/en/language.types.string.php
注意:与双引号和heredoc 语法不同,特殊字符的变量和转义序列在出现在单引号字符串中时不会被扩展。
\n
当字符串用单引号括起来时,不会被解析为换行符。相反,它被视为一个文字\
,后跟n
.