【 PHP 】PHP8に入門してみた 159日目 PHPの基本 ( ユーザー定義関数 参照渡し)
PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。
ユーザー定義関数
「参照」を渡す!
PHP
のプログラムが実行されるとき、変数の値はメモリ上で管理されます。
メモリは値を箱にしまって管理しています。
箱には番号が振ってあり、これを「アドレス」と呼んでいます。
いままでは「箱の中身」をコピーして関数に渡していました。
「参照を渡す」というのは「箱の中身」をコピーして渡すのではなく、「アドレス」をコピーして関数に渡す行為を言います。
何がすごいのか?
参照を渡すと なんと呼び出し元の変数に影響を与えるのです!
参照を渡す方法は、仮引数に&
を付けるだけというお手軽記述となっています。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>こんにちは!</title>
<!-- Bootstrapを有効化 -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" />
</head>
<body>
<?php
// 今までの関数(値をコピーして渡しています。)
function increment(int $num): int
{
$num++;
return $num;
}
$value = 10;
print increment($value) . "<br />";
print $value . "<br />";
// 参照を渡しています。
function increment2(int &$num): int
{
$num++;
return $num;
}
$value2 = 100;
print increment2($value2) . "<br />";
print $value2 . "!!!!" . "<br />"; // この値に注目!
?>
</body>
</html>
メモ
インスタンスとか、デフォルト参照私ですかね?
ディスカッション
コメント一覧
まだ、コメントがありません