PHP は、さまざまな種類の Web アプリケーションの作成に使用される、非常に人気のあるオープン ソースのサーバー側スクリプト言語です。変数は、PHP でコードを記述する上で避けられない部分です。関数によって呼び出される変数に関するよくある質問は、「変数の値は関数に渡されるときに変更されますか?」というものです。
この記事では、この問題を調査し、関数呼び出し間で PHP 変数がどのように保持されるかを示す具体的な例をいくつか示します。
まず、PHP 変数がどのようにメモリに格納されるかを理解する必要があります。 PHP では変数は参照によって渡されます。つまり、変数が関数に渡されるとき、変数が参照する実際の値は変更されません。代わりに、変数の値は変わりません。
この概念は、簡単な例で説明できます:
function changeValue($num) { $num = $num + 10; } $num1 = 10; changeValue($num1); echo $num1;
この例では、$num
という名前の変数を関数changeValue()#に渡します。 ##、この関数は
$num 変数の値を 10 ずつ増やします。ただし、関数の外側では、値を
$num1 変数に再割り当てしなかったため、その値は 10 のままです。このコードを実行すると、コンソールには 10 が出力されます。これは、関数呼び出し中に
$num1 の値が変更されないことを意味します。
function changeValue(&$num) { $num = $num + 10; } $num1 = 10; changeValue($num1); echo $num1;この例では、
$num1 を関数
changeValue() に渡します。ただし、以前とは異なり、関数定義で
$num 変数を参照渡しとして宣言します。これは、
$num 変数が値をコピーするのではなく、
$num1 変数を直接参照することを意味します。関数内で
$num を操作すると、実際には
$num1 変数の値が変更されます。この場合、コンソールには 20 が出力されます。これは、関数呼び出しで
$num1 の値が変更されたことを意味します。
以上がPHP 変数が関数呼び出し間でどのように変更されないのかについての簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。