1
2

More than 3 years have passed since last update.

【PHP】標準入力で受け取った、空白を挟んだ複数の値をそれぞれ変数に入れる【初心者】

Last updated at Posted at 2020-12-02

空白を挟んだ複数の値(例: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);
1
2
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
1
2