-1
echo 'kar\nthic';

私の質問:なぜ私は新しい行を取得していないのですか? 私が間違っているところ。Googleで試しましたが、適切な回答が得られません。出力は次のようになります。

kar
thic
4

4 に答える 4

11

エスケープ シーケンスは二重引用符内でのみ解釈されるため、新しい行を取得するには二重引用符を使用する必要があります。

echo "kar\nthic";

マニュアルから:

文字列を指定する最も簡単な方法は、一重引用符 (文字 ') で囲むことです。

リテラルの一重引用符を指定するには、バックスラッシュ () でエスケープします。リテラルのバックスラッシュを指定するには、二重にします (\)。バックスラッシュの他のすべてのインスタンスは、リテラルのバックスラッシュとして扱われます。これは、\r や \n など、慣れている可能性のある他のエスケープ シーケンスが、特別な意味を持つのではなく、文字通り指定されたとおりに出力されることを意味します。

その後:

文字列が二重引用符 (") で囲まれている場合、PHP は特殊文字のエスケープ シーケンスをさらに解釈します。

ブラウザはコンテンツを表示するときに改行文字"\n"無視<br />することに注意してください。 HTML 出力内に改行を配置するには、 を使用するか、次のnl2br()関数を使用する必要があります。

echo nl2br( "kar\nthic");
于 2012-08-14T20:24:15.297 に答える
3

試す:

echo "kar<br>\nthic";

HTML では改行は表示されません。

(二重引用符を含めるように編集 - 良い点、ニックネーム)

于 2012-08-14T20:24:30.367 に答える
2
echo "kar\nthic";
//or
echo 'kar<br>thic';
//or
echo '<pre>';
echo 'kar\nthic';
echo '</pre>';
// best way
echo nl2br( "kar\nthic");
于 2012-08-14T20:28:18.760 に答える
1

追加情報として、次の\nように、テキスト ファイルに出力する場合、文字は新しい行を作成します。

file_put_contents( "out_file.txt", "kar\nthic");
于 2012-09-17T14:41:42.120 に答える