我对以下字符串函数感到困惑
echo strlen("l\n2"); //give 3 in output
其中
echo strlen('l\n2'); //give 4 in output
任何人都可以解释原因吗?
答案 0 :(得分:5)
因为当您使用单引号('')时,PHP不会将\n
扩展为单个新行字符,而在双引号(“”)中,\n
会转换为新行字符(即单个字符)因此给出3个字符
取自PHP的字符串文档:http://php.net/manual/en/language.types.string.php
注意:与双引号和heredoc语法不同,特殊字符的变量和转义序列在单引号字符串中不会扩展。
答案 1 :(得分:4)
\n
不会被解析为换行符。相反,它被视为文字\
,后跟n
。