Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 具有相同参数的相同函数的不同输出_Php_String_String Length - Fatal编程技术网

Php 具有相同参数的相同函数的不同输出

Php 具有相同参数的相同函数的不同输出,php,string,string-length,Php,String,String Length,我对下面的字符串函数感到困惑 echo strlen(“l\n2”)//在输出中给出3个 何处为 echo strlen('l\n2')//输出4英寸 有人能解释一下原因吗?\n当字符串用单引号括起来时,没有被解析为换行符。相反,它被视为一个文本\,后跟n,因为当您使用单引号(“”)时,PHP不会将\n扩展为一个单独的新行字符,而在双引号(“”)中,\n转换为新行字符(即一个字符),从而给出3个字符 摘自PHP的字符串文档: 注意:与双引号和heredoc语法不同,特殊字符的变量和转义序列出现在

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

echo strlen(“l\n2”)//在输出中给出3个

何处为

echo strlen('l\n2')//输出4英寸


有人能解释一下原因吗?

\n当字符串用单引号括起来时,
没有被解析为换行符。相反,它被视为一个文本
\
,后跟
n

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

摘自PHP的字符串文档:

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


是的,我被它弄糊涂了,事实上我经常被字符串引号弄糊涂,谢谢你的快速回复