2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PHPの引数、関数(初学者向け)

Last updated at Posted at 2022-04-06

はじめに

PHPの基本をこの記事で書いていきます。
PHPの初学者の方向けの記事です。実際にコードを書いたりして
実際の挙動などを確認してみてください。

環境

MAMPをインストールします。
エディタはVScodeです。

環境構築方法

MAMPの環境構築が動画でわかりやすく載っていました。
PHPで出力する時はMAMPで出力するのでこちらを確認してください。

バージョン

以下のバージョンで挙動を確認しました。

スクリーンショット 2022-03-31 1.32.17.png

関数

関数とは英語でfunction(機能)と言います。
関数はなぜ使うのかというと同じコードを何回も書くのは面倒臭いので
1回定義して効率良くしていくために使います。

関数の書き方

function 関数名(引数1,引数2,引数3, ...){
  //実行内容
return 戻り値;
}

まずは引数や戻り値なしで書いていきます。
実際に使う場面を想定すると、新しく人と知り合った時に自己紹介をします。
その際1回自己紹介したのに、また別の人と会った時にもう1回すると面倒ですよね。
何人も何人もとなると面倒です。
そこで自己紹介文を用意しておけば何回も自己紹介しなくて済みます。
ここで2回以上使う、もしくは使うかもしれないコードが関数です。

function introduce(){
    echo "太郎です。<br> 埼玉県出身です。";
}

introduce();

//太郎です。
//埼玉県出身です。

function関数の宣言です。functionの後のintroduceが関数名です。
()を入れて{}の中に実行する処理を書きます。
2回出力させる場合には

function introduce(){
    echo "太郎です。<br> 埼玉県出身です。<br>";
}

introduce();
introduce();

//太郎です。
//埼玉県出身です。
//太郎です。
//埼玉県出身です。

引数

先ほど出た引数を説明していきます。
出会い系のマッチング、付き合いたい女性プログラムを例にしていきたいと思います。
女性のスペックと男性の理想をベースに書いていきます。

//女性のスペック
$looks = "美人"; //見た目
$style = "おしゃれ"; //服装
$personality = "性格がいい"; //性格
$height = 170; //身長
$income = 800; //年収

//男性の求める基準
$men_looks = "美人"; //理想の見た目
$men_style = "おしゃれ";  //理想の服装
$men_personality = "性格がいい"; //
$men_height = 160; //希望身長
$men_income = 600; //年収



echo "見た目: ";
if ($looks === $men_looks) {
    echo $looks . "なので付き合いたい<br>";
} else {
    echo $looks . "なので付き合いたくない<br>";
}

echo "服装: ";
if ($style === $men_style) {
    echo $style . "な人なら付き合いたい<br>";
} else {
    echo $style . "なら付き合いたくない<br>";
}

echo "性格: ";
if ($personality === $men_personality) {
    echo $personality . "な人と付き合いたい<br>";
} else {
    echo $personality . "なら付き合いたくない<br>";
}


echo "身長: ";
if ($height < $men_height) {
    echo $height . "センチなら付き合いたい<br>";
} else {
    echo $height . "センチなら付き合いたくない<br>";
}

echo "年収: ";
if ($income < $men_income) {
    echo $income . "万円なら付き合いたい<br>";
} else {
    echo $income . "万円なら付き合いたくない<br>";
}

// 見た目: 美人なので付き合いたい
// 服装: おしゃれな人なら付き合いたい
// 性格: 性格がいいな人と付き合いたい
// 身長: 170センチなら付き合いたくない
// 年収: 800万円なら付き合いたくない

簡単に言うと、美人で見た目がいい人と付き合いたいけど、
自分より年収があったり背が高い人は男の自尊心が傷つくから嫌だよ
ってプログラムです。

これを関数で使って作ってみます。

//女性のスペック
$looks = "美人"; //見た目
$style = "おしゃれ"; //服装
$personality = "性格がいい"; //性格
$height = 170; //身長
$income = 800; //年収

//男性の求める基準
$men_looks = "美人"; //理想の見た目
$men_style = "おしゃれ";  //理想の服装
$men_personality = "性格がいい"; //
$men_height = 160; //希望身長
$men_income = 600; //年収

function woman_spec_check($desired_name, $spec, $man_like){
    echo $desired_name. ":";
    if ($spec === $man_like){
        echo $spec. "なら付き合いたい<br>";
    }else{
        echo $spec. "なら付き合いたくない<br>";
    }
}

//呼び出し側
woman_spec_check("見た目", $looks, $men_looks);
woman_spec_check("服装", $style, $men_style);
woman_spec_check("性格", $personality, $men_personality);
woman_spec_check("身長", (string)$height, (string)$men_height); // 文字列に変換
woman_spec_check("年収", (string)$income, (string)$men_income); // 文字列に変換


//見た目:美人なら付き合いたい
//服装:おしゃれなら付き合いたい
//性格:性格がいいなら付き合いたい
//身長:170なら付き合いたくない
//年収:1000なら付き合いたくない

呼び出し側の見た目などの部分が引数の
$desired_nameです。それで echo $desired_name. ":"; で出力されます。
次の$lookなどは引数の$specに該当します。$men_lookなどが$man_likeに該当します。

返り値

return文により値を返すことができ、 配列やオブジェクトを含むあらゆる型を返せます。
関数の実行を任意の箇所で終了し、その関数を呼び出した箇所に制御を戻すことが出来ます。
下が書き方です。

function 関数名($引数){
    //処理の実行
    return $返り値;
}

//関数の呼び出し

返り値を使う

今回は返り値を3人のテストの平均点を出します。

//返り値
function test_score_Average ($scoreA , $scoreB , $scoreC){
    $average = ($scoreA + $scoreB + $scoreC)/3;
    return $average;  //averageが返り値 関数の値を出すことができる
    //returnより下は処理されない
}
//関数を呼び出す
$testAverage = test_score_Average(80,100,70);
echo "3人の平均点は". $testAverage. "点です。";

PHPが全くわからない人向けの記事

参考資料

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?