LoginSignup
0
0

More than 3 years have passed since last update.

PHPで標準入力の値を取得するときの注意

Last updated at Posted at 2020-11-23

はじめに

fgets(STDIN)で標準入力の値を取得すると改行されることを知らなくてハマったときのこと

こうなってしまう

入力
Hello
$input = fgets(STDIN);
$length = strlen($input);
echo $input . ' is ' . $length . ' letters.';
出力
Hello
 is 6 letters.

対策

そのままだと改行されてしまうし文字数も合わないので改行コードをrtrim()で消す

rtrim()は引数に指定した文字列の最後から空白やタブ、改行などを取り除いてくれる。

$input = rtrim(fgets(STDIN));

printf('%s is %d letters.', $input, mb_strlen($input, 'UTF-8'));

出力
Hello is 5 letters.

参照

PHP:rtrim - Manual

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0