PHP 関数のパラメータの受け渡し方法: 値の受け渡し: 関数内での変更は元の値には影響しません。参照渡し: 関数内の変更は元の値に影響します。型ヒントでは、値渡し: function myFunction(int $value)、参照渡し: function myFunction(int &$value) などの転送方法を指定できます。
PHP では、関数パラメータを値または参照によって渡すことができます。
値の受け渡し
値の受け渡しでは、パラメーターの値が関数内にコピーされます。関数内のパラメーターを変更しても、関数の外部の元の値には影響しません。
構文:
function myFunction(int $value) { $value++; }
例:
$a = 10; myFunction($a); echo $a; // 输出 10,因为参数值被复制了
参照渡し
参照渡しでは、関数のパラメーターは次のとおりです。コピーされず、代わりに元の値への参照が渡されます。関数内のパラメーターを変更すると、関数の外側の元の値に影響します。
構文:
function myFunction(int &$value) { $value++; }
例:
$a = 10; myFunction($a); echo $a; // 输出 11,因为参数是引用原值
PHP のパラメーター受け渡しメソッドは、タイプ ヒントを通じて指定することもできます:
function myFunction(int $value)
function myFunction(int &$value)
型ヒントはコードの読みやすさと保守性を向上させますが、必須ではありません。
円周率を計算する関数を考えてみましょう:
function calculatePi(int $n) { $sum = 0; for ($i = 1; $i <= $n; $i++) { $sum += 1 / (4 * pow(-1, $i) * (2 * $i - 1)); } return $sum; }
関数が呼び出されるたびに $sum 配列のコピーを作成することを避けるために、 pass by を使用できます。参照:
function calculatePi(int &$sum, int $n) { for ($i = 1; $i <= $n; $i++) { $sum += 1 / (4 * pow(-1, $i) * (2 * $i - 1)); } }
次に、関数を呼び出すとき:
$sum = 0; calculatePi($sum, 10000); echo $sum; // 输出近似值 π
参照渡しを使用すると、特にパラメーターが大きなデータ構造である場合、関数のパフォーマンスが向上します。
以上がPHP関数のパラメータ受け渡しメソッドは何ですか?その種類は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。