PHPで標準入力を受け取るいろいろな記述方法のまとめ
1個の整数を取得
$N = (int)trim(fgets(STDIN));
STDIN
コマンドラインから読み込む定数
fgets()
1行取得する
trim()
前後の空白” “を取り除く
fscanf(STDIN, "%d", $N);
[$N] = fscanf(STDIN, "%d");
左辺のブラケット”[]”がないとき、$Nは配列になる
数個の整数を1行から取得
fscanf(STDIN, "%d %d", $A, $B);
[$X, $Y] = fscanf(STDIN, "%d %d");
スラッシュ”/”区切りの年月日を3つの変数に代入
[$Y, $M, $D] = fscanf(STDIN, "%d/%d/%d");
var_dump($Y, $M, $D);
// 2000/01/01
// int(2000)
// int(1)
// int(1)
8桁の日付を年月日に分けて取得
[$Y, $M, $D] = fscanf(STDIN, "%4d%2d%2d");
var_dump($Y, $M, $D);
// 20241231
// int(2024)
// int(12)
// int(31)
%4dは4桁の整数型
配列
$A = fscanf(STDIN, "%d");
1行の文字列
$S = trim(fgets(STDIN));