空白を挟んだ複数の値(例:2 3)を標準入力で受け取ってそれぞれを変数に入れたい。
自分が知ってるやり方は2つ
#####方法(1つ目)
hoge.php
//文字前後の空白や改行コードとか消して$numに代入
$num = trim(fgets(STDIN));
//空白を区切りに配列に分割して代入
$array = explode(" ",$num);
//配列の1つ目を変数に代入
$first = $array[0];
//配列の2つ目を変数に代入
$second = $array[1];
#####方法(2つ目)
huga.php
//文字前後の空白や改行コードとか消して$numに代入
$num = trim(fgets(STDIN));
//空白で区切って、それぞれ$firstと$secondに代入
[$first,$second] = explode(" ",$num);
このだいぶ短くなったほうは、「分割代入」っていうらしいです。
###補足(2020/12/3 更新)
※@il9437様からご指摘頂きました。ありがとうございます。
上記の書き方だと区切りの空白が半角スペース一個の時に限った書き方だったので、以下のように書くと空白が二個以上でも対応できます。
// 空白文字の1文字以上の連続で分割して、代入
$array = preg_split('/\s+/',$num);