💾

PHP、標準入力の取得

2022/08/21に公開

プログラミングのスキルチェックの問題などで標準入力を用いる時に、初見で取得に手間取ったので残しておく。PHPではfgets(STDIN)で入力値を取得する。
https://www.php.net/manual/ja/function.fgets.php

single-line.php
// 配列として取得するとき
$input_array = explode(" ", trim(fgets(STDIN)));

// 個別の値として取得したい時
list($input_a, $input_b) = explode(" ", trim(fgets(STDIN)));

複数行の入力の時は以下。

multi-line.php
// 1行ずつ取得
while ($raw_lines = fgets(STDIN)) {
    $single_lines[] = trim($raw_lines);
}

// それぞれ分解
foreach ($single_lines as $key => $single_line) {
    $input_array[] = explode(" ", $single_line);
}

Discussion