【发布时间】:2012-06-24 20:32:43
【问题描述】:
我对以下字符串函数感到困惑
echo strlen("l\n2"); //give 3 in output
在哪里
echo strlen('l\n2'); //give 4 in output
谁能解释为什么?
【问题讨论】:
标签: php string string-length
我对以下字符串函数感到困惑
echo strlen("l\n2"); //give 3 in output
在哪里
echo strlen('l\n2'); //give 4 in output
谁能解释为什么?
【问题讨论】:
标签: php string string-length
因为当您使用单引号 (' ') 时,PHP 不会将 \n 扩展为单个换行符,而在双引号 (" ") 中,\n 会转换为换行符(即 a单个字符)因此给出 3 个字符
取自 PHP 的字符串文档:http://php.net/manual/en/language.types.string.php
注意:与双引号和heredoc语法不同,特殊字符的变量和转义序列在出现在单引号字符串中时不会被扩展。
【讨论】:
\n 当字符串用单引号括起来时,不会被解析为换行符。相反,它被视为文字 \ 后跟 n。
【讨论】: