PHP

【PHP】関数と引数がわからない!!でもこれで完璧【初心者向け】

スポンサーリンク

【PHP】関数と引数がわからない!!でもこれで完璧【初心者向け】

 

PHPの勉強をしているけど、関数と引数についてよくわからない。処理の流れが全然わからないんだけど、どうしたら理解できるんだろう。

 

このような悩みを解決するお手伝いが出来る記事になっています。

 

誠太
こんにちは、誠太です。

 

PHPの勉強をしていると、変数や関数、引数や代入など初めて聞く用語がたくさん出てきますよね。

 

その用語を理解するのにも大変なのに、さらにはその関数や引数についての処理の流れも理解しなければいけません。

 

今回は、僕がPHPを学習した中で関数に引っかかり、そして理解することができたので、関数をどのように理解することができたのかお伝えしたいと思います。

 

PHPの関数がどんなものか理解しよう

PHPの関数がどんなものか理解しよう

 

まずは関数がどのようなものなのかを理解しておきましょう。

 

関数は処理をひとまとめにしたボックス

関数は処理をまとめておくボックスのようなものと考えてもらえるとわかりやすいと思います。

 

例えば、このような関数があったとします。

 

PHP関数例

 PHP
function attack() {
echo "攻撃";
echo "魔法";
echo "必殺技";
} attack(); //攻撃魔法必殺技

 

このように記述すると、返される値は『攻撃魔法必殺技』になります。

 

PHPの関数では引数の理解も必要

さて、関数の使い方については理解することができました。

 

関数を使用すると、関数として定めた処理をまとめて使用することができます。

 

そして、関数は引数を使用すると更に進化させることができます。

 

引数はこの部分です。

 

引数例

ポイント

attack(引数);

 

引数を与える時には、関数attack()のかっこの中に、変数を設定してあげないと意味がなくなってしまいます。

 

関数に引数を与えたときの処理例

関数に引数を与えると、このような処理ができるようになります。

 

引数を与えた処理例

 

 PHP
function attack($option,$option2) {
echo "攻撃",$option;
echo "魔法";
echo "必殺技",$option2;
} attack("魔法剣","電光石火"); //攻撃魔法剣魔法必殺技電光石火

 

返される値は、『攻撃魔法剣魔法必殺技電光石火』です。

 

魔法剣は$optionに、電光石火は$option2に代入される流れになっています。

 

どのような関係になっているのかは、画像を見た方がわかりやすいと思うので、下記の画像を参考にしてみてください。

 

関数、引数例

 

関数が実行されるために、関数の引数に”魔法剣”や”電光石火”のような値を渡す必要があります。

 

もし引数が設定されていない場合は、関数の中に設定されている変数に代入される値がない事になるので、一番最初に実行した『攻撃魔法必殺技』という結果が返ってきます。

 

引数の初期値を設定することもできるのですが、その解説に関してはクラスの解説をする際に合わせて紹介したいと思うので、記事の執筆時こちらの記事にリンクを合わせて貼り合わせておきますね。

 

関数はわかりづらいけど、目で追えばすぐわかる

関数はわかりづらいけど、目で追えばすぐわかる

 

上から書いたコードをなぞって処理が行われるという頭でいると、結構関数を理解するのに苦労します。

 

画像でも見て取れるように、関数を実行するために関数の中に値を与えなければいけない時があるので、そういった処理が出てくると混乱してしまいますよね。

 

先ほどもチラッと出てきましたが、クラスを定義してインスタンスを作成するといったオブジェクト思考を考える時にも、この考え方は応用できる(というか必須)ので、本記事を参考に是非とも理解していただければと思います。

 

オススメ記事【Udemyが強い!】Web制作を独学で学べる講座はひとつあれば事足りそう

オススメ記事プログラミングの本は学習に必要だけど、本だけではキツいというお話【体験談】

  • この記事を書いた人
  • 最新記事
誠太

誠太

接客業で年間1600万円の売上を達成した経験を活かして、リアル接客とWebマーケティングを融合。『事実と根拠を明確に、誠実な情報発信』をモットーにブログを更新しています。

-PHP
-

Copyright© SEITALITY , 2019 All Rights Reserved.