PHP では、名前付きパラメーターを使用してパラメーター名を指定でき、値渡しおよび参照渡しと組み合わせることができます。値渡しではパラメーター値がコピーされ、関数内での変更は元の値に影響しません。コピーされたパラメータのアドレスは参照によって渡され、関数の内部変更により元の値が直接変更されます。
PHP では、パラメータを渡す方法が 2 つあります。 : 値渡しと参照渡し。名前付きパラメーターを使用する場合、パラメーターの名前を明示的に指定することで、さまざまなパラメーターを区別し、パラメーターの受け渡し方法に応じて異なる方法で処理できます。
値による受け渡しを使用すると、関数に渡されたパラメータ値が関数の内部にコピーされます。この場合、関数内のパラメーター値を変更しても、元の値には影響しません。
function example(int $number) { $number++; // 修改了函数内部的 $number } $num = 10; example($num); // $num 仍然是 10,因为函数的参数是按值传递的
参照渡しを使用すると、関数に渡されたパラメータのアドレスが関数の内部にコピーされます。これは、関数内でパラメーター値を変更すると、元の値に直接影響することを意味します。
参照渡しを使用するには、パラメーターの型の前に &
記号を追加する必要があります。
function example(int &$number) { $number++; // 修改了函数内部的 $number,也修改了原始 $num } $num = 10; example($num); // $num 现在是 11,因为函数的参数是按引用传递的
名前付きパラメータを使用する場合、パラメータ リストで :
記号を使用し、パラメータ名を指定してパラメータを割り当てることでパラメータを渡すことができます。価値。このとき、PHP はパラメータ名に基づいて対応する値を自動的に照合します。
名前付きパラメーターは、値渡しと参照渡しの利点を組み合わせたものです。パラメーターが値によって渡されると、パラメーター値のコピーが自動的に作成されます。ただし、関数内の元の値を変更する必要がある場合は、パラメーター名の前に &
記号を追加することで、その値を参照渡しできます。
たとえば、次の関数は、$operation
パラメーターに基づいてさまざまな操作を実行します。
function calculator(int $num1, int $num2, string $operation) { switch ($operation) { case 'add': $result = $num1 + $num2; break; case 'subtract': $result = $num1 - $num2; break; case 'multiply': $result = $num1 * $num2; break; case 'divide': if ($num2 !== 0) { $result = $num1 / $num2; } else { throw new DivisionByZeroError; } break; } return $result; } $num1 = 10; $num2 = 5; $operation = 'add'; // 可以使用命名参数显式指定参数名称 $result = calculator(num1: $num1, num2: $num2, operation: $operation);
名前付きパラメーターを使用すると、コードの可読性と保守性が向上し、各パラメーターの名前と配信方法を明確に指定できます。これにより、パラメーターを渡すときのエラーが回避され、コードのデバッグが容易になります。
以上がPHP関数のパラメータ受け渡し方法は名前付きパラメータにどのように反映されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。