ホームページ >バックエンド開発 >PHPチュートリアル >PHP 関数呼び出しにおける値渡しと参照渡しの謎を解く
PHP の関数呼び出しは、値または参照によって渡すことができます。デフォルトでは値渡しで、関数はパラメーターのコピーを受け取り、それを変更しても元の値には影響しません。参照渡しは、パラメーターの前に & 記号を追加することで宣言され、関数は渡された変数を直接変更します。参照渡しは、配列要素などの外部変数を変更する関数が必要な場合に便利です。
PHP では、デフォルトで関数呼び出しに値の受け渡しを使用します。 。これは、値が引数として関数に渡されると、関数は値のコピーを取得することを意味します。このコピーに加えられた変更は、元の値には影響しません。
function addValue($number) { $number += 10; } $value = 10; addValue($value); echo $value; // 输出:10
上の例に示すように、$value
が addValue
関数に渡されると、関数は変数のコピーを取得します。関数内の変更はコピーにのみ影響し、元の変数には影響しません。
元の変数を直接変更する関数が必要になる場合があります。この場合、参照渡しが使用できます。参照を宣言するには、パラメータの型宣言の前に &
記号を追加します。
function addReference(&$number) { $number += 10; } $value = 10; addReference($value); echo $value; // 输出:20
上の例に示すように、addReference
関数の $number
パラメータは参照として宣言されています。これは、関数が渡された変数を直接変更することを意味します。
参照渡しを使用すると、特定のタスクを簡素化できます。たとえば、ユーザー データを含む配列があり、それを関数で変更する必要があるとします。
$users = [ [ 'id' => 1, 'name' => 'John Doe', ], ]; function changeName(&$user, $newName) { $user['name'] = $newName; } changeName($users[0], 'Jane Doe'); echo $users[0]['name']; // 输出:Jane Doe
$user
パラメータを参照として宣言すると、changeName
関数は配列内の元の要素を直接変更できます。
PHP の値渡しと参照渡しを理解することは、効率的で保守可能なコードを作成するために重要です。参照渡しを使用すると、変数の不必要なコピーを回避し、関数の外で変数を直接変更できます。
以上がPHP 関数呼び出しにおける値渡しと参照渡しの謎を解くの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。