PHPの標準入力を使っていた時、以下のようにしていた。
preg_replace(
'/\r\n|\r|\n/'
,
''
,
fgets
(STDIN));
しかし、ネット上を見ていると、trimを使っていた。
PHPのマニュアルを調べると、trimには以下のように書いてあった。
この関数は str の最初および最後から空白文字を取り除き、 取り除かれた文字列を返します。2番目のパラメータを指定しない場合、 trim()は以下の文字を削除します。
” ” (ASCII 32 (0x20)), 通常の空白。
“\t” (ASCII 9 (0x09)), タブ。
“\n” (ASCII 10 (0x0A)), リターン。
“\r” (ASCII 13 (0x0D)), 改行。
“\0” (ASCII 0 (0x00)), NULバイト
“\x0B” (ASCII 11 (0x0B)), 垂直タブ
実際に試してみると、改行が取り除かれていることがわかる。
PHP 5.6.28で確認した。
$test
=
fgets
(STDIN);
var_dump(
$test
);
// 結果
// string(3) "3
// "
$test
= trim(
fgets
(STDIN));
var_dump(
$test
);
// 結果
// 3
// string(1) "3"
$test
= preg_replace(
'/\r\n|\r|\n/'
,
''
,
fgets
(STDIN));
var_dump(
$test
);
// 結果
// 3
// string(1) "3"
コメント