[PHP入門] 引数(デフォルト値・値渡し・参照渡し)とは? 使い方・書き方をわかりやすく解説!

今回はPHPの引数について解説していきます。

このページでは引数のデフォルト値、引数の値渡し、引数の参照渡しを中心に説明していきます。

気になる方は是非ご覧になってください!

1.引数のデフォルト値

デフォルト値とは?

デフォルト値はテンプレートファイル内で記述された変数に、PHPスクリプト内から値が指定されなかったり、指定された場合でも値が空だった場合に割り当てられるデフォルトの値を指定する場合に使います。

PHPスクリプトで宣言した関数の引数にデフォルト値を指定する方法を紹介します。

代入演算子「=」を利用することで、引数にデフォルト値を設定することができます。

以下は引数$number1にデフォルト値5を引数$number2にデフォルト値1を指定する例です。

引数にデフォルト値を設定することで引数が省略された時、値としてデフォルト値がセットされます。

5行目では引数$number1のみに1が引数としてセットされています。

そのため、引数$number2にデフォルト値の1がセットされ、結果は2となりました。

ここで注意点があります。

引数$number1を省略することができません。

省略できるのは、後ろの引数のみです。

そのため、引数$number2を省略したつもりで、Result(1)としても、Result(5,1)と見なされることはありません。

6行目では引数$number1に2が引数$number2に3がセットされています。

引数が省略されていないので、セットした引数が優先されます。

その結果、5となりました。




2.引数の値渡し

値渡しとは?

値渡しとは、コンピュータプログラム中で関数やプロシージャなどに渡す引数として変数などを指定する際、その値のみを引き渡す方式のことです。

渡された引数の値を変更しても呼び出し元の変数の値は更新されません。

引数は値渡しが基本となっています。

これだけでは分かりづらいので、具体例を見ていきましょう。

$number2の値をincrement関数の引数$number1に渡しています。

ここで注意点があります。

引数は値渡しが原則なので、$number1に$number2のコピーが渡されます。

そのため、increment関数内で$number1が変化しても、$number2の値が変化することはありません。




3.引数の参照渡し

参照渡しとは?

参照渡しとは、サブルーチンや関数などの引数として変数を渡す際に、変数の受け取り側が変数を参照できる形式で、変数を渡す方法のことです。

参照渡しを行った変数の内容を、呼び出し先で変更すると、呼び出し元の変数を直接操作するのと同じ状態になります。

次に引数を参照渡しするとどのようになるのでしょうか。

引数を参照渡しするには引数の先頭に「&」を付け加えるだけです。

それでは具体例を見ていきましょう。

$number2のアドレスが引数$number1にコピーされるので、$number1の値に影響を与えます。

そのため、increment関数を呼び出した後、$number2の値を確認すると、変化していることが分かります。




4.PHPをもっと学びたい方へ

最後まで読んで頂きまして、ありがとうございます。

PHPをもっと学びたいという方はいないでしょうか?

上記のように考えている方にオススメの教材があります。

確かな力が身につくPHP「超」入門

この本ではPHPの基礎構文だけでなく、商品管理システムを作りながら、PHPをより実践的に学ぶことができます。

そのため、PHPを一通り学んだ方にオススメできる一冊です。

是非、挑戦してみてはいかがでしょうか?

以下の記事でPHPを学ぶことができるオススメの本をまとめていますので、よかったらご覧になって下さい。

[初心者~中級者向け] PHPを学ぶことができるおすすめの本

Udemy

UdemyではPHPを学ぶことができる講座を多数取り扱っています。

以下の記事でPHPを学ぶことができるオススメの講座をまとめていますので、よかったらご覧になって下さい。

[2021年最新版] Udemy(ユーデミー) おすすめのPHP講座

TechAcademy

TechAcademy [テックアカデミー]ではPHPを学ぶことができます。

無料体験も行っているので是非、体験してみてはいかがでしょうか?

TechAcademyについてまとめた記事もありますので、よかったらご覧になって下さい。

いくら? 悪評は? TechAcademy(テックアカデミー)とは? 口コミもまとめてみました!




5.ポイント

ポイント
  • 代入演算子「=」を利用することで、引数にデフォルト値を設定することができます
  • 引数は値渡しが基本となっています
  • 引数を参照渡しにする場合、引数の先頭に「&」を付け加えます

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です