ホームページ  >  記事  >  バックエンド開発  >  PHP関数のパラメータ受け渡しメソッドは何ですか?その種類は?

PHP関数のパラメータ受け渡しメソッドは何ですか?その種類は?

PHPz
PHPzオリジナル
2024-04-15 14:09:021174ブラウズ

PHP 関数のパラメータの受け渡し方法: 値の受け渡し: 関数内での変更は元の値には影響しません。参照渡し: 関数内の変更は元の値に影響します。型ヒントでは、値渡し: function myFunction(int $value)、参照渡し: function myFunction(int &$value) などの転送方法を指定できます。

PHP 函数的参数传递方式有哪些?它的类型?

PHP 関数パラメータの受け渡し方法

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。