このような悩みを解決するお手伝いが出来る記事になっています。
PHPの勉強をしていると、変数や関数、引数や代入など初めて聞く用語がたくさん出てきますよね。
その用語を理解するのにも大変なのに、さらにはその関数や引数についての処理の流れも理解しなければいけません。
今回は、僕がPHPを学習した中で関数に引っかかり、そして理解することができたので、関数をどのように理解することができたのかお伝えしたいと思います。
PHPの関数がどんなものか理解しよう
まずは関数がどのようなものなのかを理解しておきましょう。
関数は処理をひとまとめにしたボックス
関数は処理をまとめておくボックスのようなものと考えてもらえるとわかりやすいと思います。
例えば、このような関数があったとします。
PHP関数例
PHP
function attack() {
echo "攻撃";
echo "魔法";
echo "必殺技";
}
attack(); //攻撃魔法必殺技
このように記述すると、返される値は『攻撃魔法必殺技』になります。
PHPの関数では引数の理解も必要
さて、関数の使い方については理解することができました。
関数を使用すると、関数として定めた処理をまとめて使用することができます。
そして、関数は引数を使用すると更に進化させることができます。
引数はこの部分です。
引数例
引数を与える時には、関数attack()のかっこの中に、変数を設定してあげないと意味がなくなってしまいます。
関数に引数を与えたときの処理例
関数に引数を与えると、このような処理ができるようになります。
引数を与えた処理例
PHP
function attack($option,$option2) {
echo "攻撃",$option;
echo "魔法";
echo "必殺技",$option2;
}
attack("魔法剣","電光石火"); //攻撃魔法剣魔法必殺技電光石火
返される値は、『攻撃魔法剣魔法必殺技電光石火』です。
魔法剣は$optionに、電光石火は$option2に代入される流れになっています。
どのような関係になっているのかは、画像を見た方がわかりやすいと思うので、下記の画像を参考にしてみてください。
関数が実行されるために、関数の引数に”魔法剣”や”電光石火”のような値を渡す必要があります。
もし引数が設定されていない場合は、関数の中に設定されている変数に代入される値がない事になるので、一番最初に実行した『攻撃魔法必殺技』という結果が返ってきます。
引数の初期値を設定することもできるのですが、その解説に関してはクラスの解説をする際に合わせて紹介したいと思うので、記事の執筆時こちらの記事にリンクを合わせて貼り合わせておきますね。
関数はわかりづらいけど、目で追えばすぐわかる
上から書いたコードをなぞって処理が行われるという頭でいると、結構関数を理解するのに苦労します。
画像でも見て取れるように、関数を実行するために関数の中に値を与えなければいけない時があるので、そういった処理が出てくると混乱してしまいますよね。
先ほどもチラッと出てきましたが、クラスを定義してインスタンスを作成するといったオブジェクト思考を考える時にも、この考え方は応用できる(というか必須)ので、本記事を参考に是非とも理解していただければと思います。