本記事では、引数の渡し方(値渡し)について紹介します。
関数の引数に値を渡す方法には「値渡し」と「参照渡し」があります。
値渡しとは
参照渡しとは、変数の値をコピーして渡す方法です。
変数の値をコピーして渡すため、関数内で引数の値を変更しても、呼び出し元の変数に影響を及ぼすことはありません。
値渡しの書き方は以下の通りです。 $a が値渡しの箇所です。
function test ($a) {
・・・
}
変数の値の実体はメモリ上で管理されています。値渡しは変数の値をコピーして渡すので、メモリ上の実体もコピーされます。
そのため、呼び出し元の変数と呼び出された関数の引数は異なる実体を参照しています。
値渡しの使用例
<?php
function test ($a) {
$a = "ファンクション内の値です";
print("関数内の値:".$a."<br>");
}
// 関数の実行
$b = "あいうえお";
test($b);
print("関数外の値:".$b);
?>
[実行結果]
関数内の値:ファンクション内の値です
関数外の値:あいうえお
値渡しは変数の値をコピーして渡す方法であり、呼び出し元の変数と呼び出された関数の引数は異なる実体を参照しています。
参照している実体が違うので、呼び出された関数の引数である「$a」の変更は、呼び出し元の変数「$b」には反映されていません。
(「$b」の値は「あいうえお」のまま変わらない)
本記事では、PHPの値渡しについて紹介しました。PHPを学習される方のお力になれれば幸いです。
学習書の紹介
確かな力が身につくPHP「超」入門 第2版 [ 松浦健一郎 ] 価格:2,860円 |
PHPの基礎から、コマースサイトの作成に必要な知識まで、しっかりと解説します。
ショッピングカートやログイン処理の作成から、商品管理などを行うデータベースの設定・制御法まで、Web開発の現場で求められる知識をサンプルで体験しながら学べます。