具有相同参数的相同功能的不同输出

时间:2012-06-22 14:14:29

标签: php string string-length

我对以下字符串函数感到困惑

echo strlen("l\n2"); //give 3 in output

其中

echo strlen('l\n2'); //give 4 in output

任何人都可以解释原因吗?

2 个答案:

答案 0 :(得分:5)

因为当您使用单引号('')时,PHP不会将\n扩展为单个新行字符,而在双引号(“”)中,\n会转换为新行字符(即单个字符)因此给出3个字符

取自PHP的字符串文档:http://php.net/manual/en/language.types.string.php

  

注意:与双引号和heredoc语法不同,特殊字符的变量和转义序列在单引号字符串中不会扩展。

答案 1 :(得分:4)

当字符串用单引号括起时,

\n不会被解析为换行符。相反,它被视为文字\,后跟n

相关问题