PHPで、外部API呼出しの処理を書いた時にハマったのでメモです。
PHP_EOLとは。。。
OSで異なる改行コードを環境に合わせて自動変換してくれる関数です。
OSごとの改行コード
この関数を利用する時には、必ずこれを意識してください。
そうしないと、ハマります。
OS | 改行コード |
---|---|
Windows | CR+LF(\r\n) |
Mac | CR(\r) |
Linux | LF(\n) |
これを利用すると、下記の通り変換が入るということです。
// Linuxだと、\nで改行
echo "this is the new-line" . PHP_EOL
// Macだと、\rで改行
echo "this is the new-line" . PHP_EOL
// Windowsだと、\r\nで改行
echo "this is the new-line" . PHP_EOL
注意点
実行するOSで改行コードが異なるということは、外部サービスなどを使う時は使わない方が無難です。
なぜなら、外部サービスは改行コードが指定されていることが多いからです。