この記事では、PHPにおける可変関数について説明します。
できるだけわかりやすく説明するのでぜひ参考にしてください。
結論
簡単に結論を言えば、可変関数とは、変数の関数バージョンということです。
一般的な関数
一から説明していきましょう。
まず、一般的な関数ですが、
1 2 3 4 5 6 7 |
<?php function kansu($a,$b){ echo $a*$b; } kansu(9,8); // 72と表示される ?> |
上記のように、関数名に引数をいれれば関数が実行されます。
可変関数
この関数名(ここでは『kansu』)を変数に変えることができます。
1 2 3 4 5 6 7 8 |
<?php function kansu($a,$b){ echo $a*$b; } $betumei='kansu'; echo $betumei(9,8); // 72と表示される ?> |
上記のように『kansu』を『$betumei』としました。
そしてこの関数を実行するために『$betumei(9,8);』と入力します。
ここでは、『$betumei(9,8)』が可変関数です。
可変関数の役割は?
引数をたしたり、ひいたり、かけたり、わったりする関数があったとします。
これを実行するなら以下の通りです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php function kansu1($a,$b){ echo $a+$b; } function kansu2($a,$b){ echo $a-$b; } function kansu3($a,$b){ echo $a*$b; } function kansu4($a,$b){ echo $a/$b; } kansu1(9,3); kansu2(9,3); kansu3(9,3); kansu4(9,3); ?> |
最後の実行するコードが少しみっともない感じがします。
可変関数を使ってみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php function kansu1($a,$b){ echo $a+$b; } function kansu2($a,$b){ echo $a-$b; } function kansu3($a,$b){ echo $a*$b; } function kansu4($a,$b){ echo $a/$b; } for ($i = 1; $i <5; $i++) { $betumei = "kansu$i"; $betumei(9,3); } ?> |
すこし見栄えがかっこよくなりましたね。
ループされて『$betumei』という変数の中身が『kansu1』⇒『kansu2』⇒『kansu3』⇒『kansu4』という具合に変わっていきます。
これが可変の意味ですね。
【無料体験・全額返金】圧倒的に効率的なプログラミングスクール
独学でプログラミングを勉強するのは大変じゃないですか?
- ググるのが面倒
- エラーの対応に1日消費
- 重要なコードがわからない
お金はかからないものの、かなり効率が悪いです。
『Time is Money』
時間を節約し、効率的に勉強したいならプログラミングスクールを圧倒的におすすめします。
スクールに通って短期間で集中的に成長しちゃいましょう。
代表的なスクールは以下の2つ。
- TechAcademy
web系、アプリ系いずれもOK
完全オンラインでプログラミングを学習したい方 - テックキャンプ
web系、アプリ系いずれもOK
教室またはオンラインで学習したい方
この2つには以下のような特典もあります。
TechAcademy
- 1週間の無料体験
- 1コース申し込むと、もう1コースプレゼント
テックアカデミー
- 1週間以内に申告あれば全額返金
- 転職できなかったら全額返金
かなりお得です。
確かにどのスクールも本格的にやれば20~30万くらいかかります。
でも、スキルを身に付けて案件を受注してしまえばすぐに回収できる金額です。
目安の報酬をまとめておくと、
- ランサーズ:1件10万くらい
- 中小企業:1件30万くらい
- 大手企業:桁違い
こんな感じです。
1ヶ月で回収できる料金をケチって、独学をつづけるのはセンスが悪いです。
この無料キャンペーンや全額返金制度はいつまで続くかわかりません。
なので、とりあえず試してみるのが良いかと思います。
テックキャンプに関しては無料でカウンセリングを受けることができます。
プロのカウンセラーが個別に悩み聞いてくれるので、まずは話をしてみてもいいですね。
(下のバナーから詳細を見れます。)
受講料の割引もあるのでお得です。