次の文字列関数と混同しています
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
注:二重引用符やヒアドキュメントの構文とは異なり、特殊文字の変数とエスケープシーケンスは、単一引用符で囲まれた文字列で使用される場合は展開されません。
\n
文字列が一重引用符で囲まれている場合、改行文字として解析されません。\
代わりに、リテラルの後に。が続くものとして扱われn
ます。