LoginSignup
0
0

More than 3 years have passed since last update.

PHP 関数とは?一緒にやってみましょう!!

Last updated at Posted at 2020-07-10

最初に

これは初心者からフルスタックエンジニアを目指す男の備忘録である:point_up:

目次

⑴ 関数とは?
⑵ 関数で覚えておきたい3つのこと
⑶ ユーザ定義関数の基本的な書き方
⑷ 実際に関数を実行

⑴ 関数とは?

あるデータが返される(IN):point_left:
それに応じて
あるデータを返す(OUT)機能のこと:point_right:

2つに分けることができる
▶︎ 内部(ビルトイン)関数
 phpにデフォルトで用意されている関数。

▶︎ ユーザ定義関数
 独自に作成した関数

実際に使っていくことになるのは「ユーザ定義関数」になるかと思います。

⑵ 関数で覚えておきたい3つのこと

▶︎ 引数
 関数に渡されるデータのこと

▶︎ 仮引数
 関数に渡す際に変数のような箱を設置してあげるデータのこと

▶︎ 返り値(戻り値)
 関数から返ってくるデータのこと

⑶ ユーザ定義関数の基本的な書き方

▶︎ 関数を定義
 function 関数名(引数) {
    return 返り値;
}

↑ だけでは定義しただけなので実行を行う

▶︎ 関数を実行
  関数名(引数); 

これが基本的な書き方になる。
しっかりここを頭に入れておこう!

⑷実際に関数を実行

環境構築が面倒な方は、Paiza を使用することをおすすめ
URL: https://paiza.io/ja/projects/new

実戦に入る前にこれだけは注意。

※ 関数一つに一つの機能のみを持たせる
何故ならば、わかりやすくするためです。一つの関数にたくさんあったら訳が分からなくなってしまいますからね。

sum 関数を作ってみる
お題は「1〜10までを足した値を返す関数」です。

<?php
// 1〜10 までを足した値を返す関数
function sum(){
  
   // $result は結果を保存する変数    
    $result = 0;
   
   // $i は 1から始まり $max より大きくなるまでループする
    $for($i = 1; $i <=10; $i++){
       
   // $result に $i を順番に足していく
    $result += $i;
    }

    return $result;
}

?>

定義しました!
実際に実行してみます。

何も表示されない。。

何故なら、「関数を定義しただけ」だからです。
関数は定義しただけでなk、実行することで初めて呼び出すことが可能です。

それでは実際に呼び出してみたいと思います。

先ほどのコードに以下を入力

// 関数を実行する
echo sum();

もう一度実行

$ php sum.php
55

表示できました。٩( ᐛ )و
これは1から10までを足した結果が表示された訳です。

しかしこの関数では味気がない。。
1から10まで計算してくれる関数なんて使う要素が見当たらないです。

そしたら少し高性能にしてみたいと思います。

ここで使用するのは上記で説明した「仮関数」です。
実際にコードを書いてみます。

<?php
// 1〜$max までを足して結果を返す関数
function sum($max) {
    $result = 0;

    // $i は1から始まり、$max より大きくなるまでループする
    for($i = 1; $i <= $max; $i++ ){
        $result += $i;
    }

    return $result;
}

// 関数を実行
echo sum();
?>

できました٩( ᐛ )و
今回は sum 関数には仮引数の $max を設定したので、
幾つの値までを足すかを教えてあげる為に、実行するときに
$maxの値を教えておきます。

echo sum(100);

実行してみます。

$ php sum .php
5050
$

1から100までを足した値を計算することができました。٩( ᐛ )و

これで任務完了
楽しく学習それが
プログラミングを学ぶ醍醐味!!!

ではまた!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0