見出し画像

【 PHP学習 #9 】 「関数 = function = 機能」 FIREへの旅路 ♯459

関数と聞くと、数学的なものをイメージしてしまいます。

関数なので、何かの数のようなイメージもつきますが、関数は、数ではありません。

そこで、関数のイメージとして、英語のfunction=機能と覚える方が、よりわかりやすいと思います。


【 関数 = 機能 】

 関数は、自動販売機に例えられます。

自動販売機に、
お金を入れる(入力 インプット)
商品が出てくる(出力 アウトプット)

この、
入力インプットを、引数と呼びます。
出力アウトプットを、戻り値と呼びます。


自動販売機では、入れたお金に対して、出力できる商品を判別したり、お釣りを計算したりします。
これを実行しているのが、関数の役割と言えます。


関数の種類


ユーザー定義関数
自由に作ることができる関数

組み込み関数

準備してある関数


▶︎ ユーザー定義関数

ユーザーが自由に設計できる関数です。

書き方

function 関数名(引数){
    //処理
    
    return // 戻り値
}

これが基本となりますが、
引数が複数あったり、
引数がなかったり、
戻り値がない場合などがあります。


引数なし・戻り値なし

<?php

//ユーザー定義関数
//引数なし
//戻り値なし

function test(){
    //処理
    echo 'テスト';

}

test();

testというfunctionを作ります。
test( ) の( )の中は、引数が入りますが、今回は引数なしなので、空白です。

test( )の機能は、'テスト' をechoすることです。

この機能を実行したところで、
test();
と、書けば、'テスト' をechoしてくれます。




引数あり・戻り値なし

<?php

//ユーザー定義関数
//引数あり
//戻り値なし


$comment = 'コメント';


function getComment($string){
    echo $string;
}

getComment($comment);


$comment という変数を定義して、

getComment( )という関数を作る。
getComment( )は、引数$stringを持ちます。

getComment( )の機能は、$stringをechoすることです。

getComment(); の引数に変数$commentを入れると、

「コメント」がechoされます。


変数$commentの中身が変われば、関数$getCommentによって、echoされる内容も変わります。
しかし、関数自体は、変わりませんから、使いまわせることができるのです。


引数なし・戻り値あり

<?php

//ユーザー定義関数
//引数なし
//戻り値あり


function getNumberOfComment(){
    //戻り値
    return 5;
}

echo getNumberOfComment();

getNumberOfCommentという関数を作り、
5をretuen(戻り値)に設定する。

この時点で、getNumberOfCommentには戻り値の5が入ります。

getNumberOfCommentをechoすると、5表示されます。



引数2つ・戻り値あり

<?php

//ユーザー定義関数
//引数2つ
//戻り値あり


function sumPrice($int1, $int2){
    $int3 = $int1 + $int2;
    return $int3;
}

$total = sumPrice(2,5);

echo $total;

sumPrice という関数を作り、その引数に$int1, $int2を指定します。

sumPrice の機能は
$int3 という変数を用意して、引数の$int1, $int2を足します。

そして、足した結果が入った$int3returnします。

$totalという変数作り、関数sumPriceを呼び出して、引数を入れます。
sumPrice(2,5)と入れたので、

$int1=2
$int2=5
$int3 = 2 + 5 
$int3 = 7
return  $int3
は 
sumPriceが戻り値として入る

$totalになり、

7echoされる

というわけです。


【 まとめ 】

関数のについて学びました。

関数は処理の塊を作り、使いところで呼び出すという使い方です。

まさに、プログラミングといった感じですね!

仕組みを作る楽しさが満載です!

この記事が気に入ったらサポートをしてみませんか?