関数とは?
一言でいうと、
「処理に名前をつけておいて、後で何回でも実行することができるもの」です。
洗濯機のボタンのようなイメージですね。
「スタート」ボタンを押すと、
「洗い」→「すすぎ」→「脱水」→「乾燥」まで一気にやってくれますよね。
プログラミングも同じで、
この一連の流れをどこかに作っておいて、それを実行する形で使っていきます。
関数の書き方
プログラミングの関数は「定義」→「実行」と言う流れになります。
定義の方法
「関数を定義する」となったら、とりあえずこう書いてください。
function 関数名() {処理}
「関数名」は好きな名前をつけてOKです。
今回はスタートボタンという意味で「startBtn」という名前にしておきましょうか。
function 関数名() {
「function 関数名() {」このように開始タグを書いたら、すぐにエンターを押す事をお勧めします。
VSCodeが自動で終了タグまで記述して、インデント(見やすいようにスペース)をつけてくれます。
function 関数名() {
}
実行の方法
定義した関数を実行するには、このように書きます。
関数名();
これだけです。
洗濯機のスタートボタンの処理を関数で書くとこんな感じになります。
<?php
// startBtn実行
startBtn();
// startBtn定義
function startBtn() {
echo '<洗濯開始>';
echo '<br>';
echo 'すすぎ開始';
echo '<br>';
echo '乾燥開始';
echo '<br>';
echo '<終了しました>';
}
?>
「echo ‘<br’>」を入れているので長いように見えますが、実際は文字を表示しているだけです。
やっていることは、
- 「function 関数名」で関数を定義
- 「関数名()」で関数を実行
これだけです。
ちなみに、関数の定義よりも実行の方が上の行にありますが、これはどちらでも大丈夫です。
実際のエンジニアの現場では、
関数などの処理のまとまりは下の方に書いておいて、実行などまとめて上に書いておく
という方法を取ることが多いです。
引数とは?
今startBtnを実行すると、
「洗濯開始」〜「終了しました」まで固定の文章が表示されます。
それを例えば、
- 服を洗濯開始
- 布団を洗濯開始
- 靴下を洗濯開始
このように、何を洗濯するのか切り替えられると便利ですよね。
「引数」というのを使うと、関数を実行するときに
「実行する時にこの情報も使ってね〜」
というのを指定することができます。
引数の書き方
「function 関数名()」の「()」に使って欲しい情報を入れて使います。
実行の方法
文字列を使うときは今までと同様にシングルクォート「”」で囲みます。
startBtn('服');
※引数はカンマ区切りで複数指定することができます。
(例↓)
startBtn('服', '布団', 'タオル');
定義の方法
「この情報を使ってね」と値を渡すためには、
関数の定義元で渡される値を受け取れるように準備しておく必要があります。
「function startBtn($item)」のように「()」に変数を入れておきます。
<?php
// startBtn実行
startBtn('服');
startBtn('布団');
// 洗濯開始ボタンstartBtn定義
function startBtn($item) {
echo $item . 'を洗濯開始します。';
echo '<br>';
}
?>
これは「$item = ‘服’;」としているのと同じです。
練習問題
問題
<問題1>
引数を2つ渡して、数字を合計する関数を作成してください。
回答
<回答1>
<?php
sum(10, 20);
function sum($num1, $num2) {
$result = $num1 + $num2;
echo '2つの合計は' . $result . 'です';
}
?>
まとめ
- 関数とは「一連の処理に名前をつけておいたもの」
- 定義:function 関数名() {}
- 実行:関数名();
- 引数:カンマ区切りで複数指定できる