LoginSignup
1
1

More than 3 years have passed since last update.

初心者が躓く関数と戻り値(返り値)【基礎】

Posted at

関数

関数とは...

関数とは...
・頻繁に使用する処理を一つにまとめて何時でも呼び出せるようにする便利なものです。
・PHPにすでに実装されている組み込み型の関数と、functionで定義して自由に作ることができるユーザー関数の2種類存在します。

関数の種類

ビルトイン関数(組み込み関数)

PHPのシステムにすでに組み込まれている便利な関数。
例)
strlen...文字の長さを取得する関数
count...配列の要素の個数を取得する関数
などなど...PHP Manual 関数に多数記載があるので、わからないビルトイン関数があった場合はManualの"search"で検索・参照するとたくさんでてきます。


ユーザー関数

ユーザーが新規で作成する関数。
システムにすでに組み込まれている関数とは違い、自由に作ることができる。
ユーザー関数は必ずfunctionで定義をする。

function
function 関数名(仮引数){
//仮引数は後ほど説明致します。
    実行する処理
}

実際にユーザー関数を実装してみましょう。
例としてRPGゲームで必ずある攻撃アクションの実装をしてみます。
単純な実装なので、あまり参考になりませんが、まずは関数の基礎を頭に叩き込むために簡単にしてます。

ユーザー関数の実装
attack

function attack(){
    //return文は後ほど説明致します。
    return $attack="の攻撃!";
}
    echo "チョコボ".attack();
//結果:チョコボの攻撃!

シンプルにユーザー関数はfunctionを付けることをまずは心掛けてください。


仮引数と引数

関数は仮引数と引数を必ず使用する必要はありませんが、
より実用的な関数を作るのであれば、仮引数と引数を使うことによってより高機能な関数になるので、必ず覚えましょう。

仮引数

関数を定義するときに引数に置き換える変数のこと。


引数

関数を引き出すときに出す実際の値のこと。


仮引数と引数を入れた関数
status

function status($character,$now){
    //$characterと$nowが仮引数
    $status = "{$character}{$now}だ。"."\n";
    return $status;
}
    //()の中が引数
    echo status("チョコボ","笑顔");
    echo status("黒チョコボ","眠たそう");
/*結果:
チョコボは笑顔だ。
黒チョコボは眠たそうだ。
*/

仮引数と引数の基本になりますので、覚えましょう。
因みに、仮引数は 「,(カンマ)」で区切ればいくつでも(100個でも10000個でも)いれることができますが、基本的に1~3個です。


戻り値(返り値)

戻り値とは...

・関数から値を取得することができる。
・関数から値を取得するにはreturn文を使用する。
・returnが実行されると関数の処理がその時点で終了して値が返される。
・返り値のない関数も存在する。
・return文では配列やオブジェクトを含むあらゆるデータ型を指定できる。


戻り値を利用するとこんなことも...
attack.sum
<?php

function attack_sum($punch,$kick){
    $sum = $punch*$kick / 2;
    return $sum;
}

$sum_A = attack_sum(10,60);
$sum_B = attack_sum(10,40);

echo "剣士の攻撃は魔物に".$sum_A."のダメージ".PHP_EOL;//剣士の攻撃は魔物に300のダメージ を出力
echo "戦士の攻撃は魔物に".$sum_B."のダメージ".PHP_EOL;//戦士の攻撃は魔物に200のダメージ を出力

echo "魔物に合計";
echo $sum_A+$sum_B."のダメージ。".PHP_EOL;
echo "魔物は倒れた。".PHP_EOL;
/*魔物に合計500のダメージ。
魔物は倒れた を出力*/

初めに、変数sum_Aと変数sum_Bの値を出力して、最後に合計値を出すということもできます。
よかったら参考にしてみてください。

最後に

今回は、初心者が躓く関数と戻り値について記述しました。

また、作成者本人もPHPを学習中のため、勉強用のメモとして、この記事を活用しております。
もっとわかりやすく教えていただける方いれば、コメント欄にてお待ちしております。

ではでは♪

1
1
1

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
1
1