PHPのfgets(STDIN)ってなに?Paizaで学習するとき最初につまづくやつ

僕は、プログミングをこれから始めてみようと思っている方には「Progate」「Paiza」をオススメしています。

しかし、Paizaの問題を解こう!となったとき

ん?何これ?

ってなるのがfgets(STDIN)という謎の記述です笑

今回はfgets(STDIN)についてざっくり解説します!

この記事を見れば、Paizaの問題集をどんどん進められるようになりますよ!!

あけお

スクールに多額のお金を支払う前に、僕の記事で学習してね!

目次

とりあえず結論

fgets(STDIN)という記述をするということは

データを取得することができる

ということなんですよね!

、、、これだと意味がわからないと思いますので、具体例を用いて説明します!

具体例

例えば、あなたは今からカレーを作ろうとしています。

そこでまずやることはなんでしょうか??

そうです、

ジャガイモとにんじんと玉ねぎを冷蔵庫から取ってくる

ですよね!

材料がないと料理(処理)を始めることができません。

fgets(STDIN)はこれと同じと思ってもらえるとイメージしやすいのではないかなと。

仮に、

1 + X(エックス)

という処理をプログラムで書こうとするとき、このXにあたる部分の材料(データ)を取ってこないと処理ができません。

なぜなら、手元にはXという材料(データ)がないからです。

もし、このXが数字の「3」だったとしたら、こんな感じのプログラムを書くことになります!!

PHP
<?php

//fgets(STDIN)で3という数字を取得し、$xに代入する。
$x = fgets(STDIN);

//やりたい処理が「1 + X」の場合
$answer = 1 + $x;

//echoを使って答えを出力
echo $answer;

このコードの実行結果はこちら

PHP
4

入力値とは?

もうお気づきかと思いますが、念のため補足説明しておきます

Paizaで出てくる「入力値」ってやつですが、これは上の例でいうところの

ジャガイモとか、にんじんとか、玉ねぎ

のことです。

つまり材料(データ)です。

これがないと料理(処理)ができない、ということです。

fgets(STDIN)で取得できる材料(データ)は問題によって異なります

「どの材料を取得するか」というのは、システムの裏側で設定してるので、あまり深く考えず、「とりあえずfgets(STDIN)して材料を取ってくる」くらいの感覚でいいと思います

まとめ

「fgets(STDIN)」について、ざっくりでも理解できたら幸いです。


これからも一緒に頑張りましょう!!

あけお

あなたの挑戦を応援しています!!

よかったらシェアしてね!
目次