ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHPチュートリアルの関数の仮パラメータと実パラメータの説明

PHP_PHPチュートリアルの関数の仮パラメータと実パラメータの説明

WBOY
WBOYオリジナル
2016-07-21 15:34:23786ブラウズ

実パラメータの数が仮パラメータの数より小さい場合、PHP は警告を発行します。これは、PHP の解釈メカニズムが、定義されているが使用されていないパラメータがあると判断し、関数の機能に影響を与える可能性があるためです。したがって、警告が発せられます。ただし、実パラメータの数が仮パラメータの数よりも大きい場合、PHP はエラーを報告しません。最初のいくつかのパラメータのみが使用され、超過したパラメータは破棄されます。

PHPで関数を書く場合、一般的に関数を呼び出す際に変更されるのは実パラメータではなく仮パラメータですが、仮パラメータにアドレス文字を追加すると実パラメータの値が変更されてしまいます。なぜですか?

以下の例を参照してください:

コードをコピーします コードは次のとおりです:

// 関数 swap() を作成し、実際のパラメータ値をテストします。関数は変更されていません
function swap($a, $b) {
echo "

swqp() 関数に入る前
n";
echo "交換前: 仮パラメータ a=$a、仮パラメータ b=$b
n";
$c=$b;
$a=$b;
$b=$c;
echo "交換後: 仮パラメータ a=$a、仮パラメータ b=$ b
n";
echo "swap() 関数を終了
gt;

n";
}
$variablea=5;
$variableb=10;
echo "swap() 関数を呼び出す前: ";
echo "実際のパラメータ a=$variablea ,実際のパラメータ b=$variableb
n";
swap($variablea,$variableb);
echo "swap() 関数の呼び出し後: ";
echo "実パラメータ a=$variablea,実パラメータ b=$ 変数 b
n";


コードをコピーします コードは次のとおりです:
/ /変更する swap() 関数パラメータの値をテストします
function swap1(&$ a,&$b) {
echo "

Enter swap1() function
n";
echo "交換前:仮パラメータ a=$a, 仮パラメータ b=$b
n" ;
$c=$b;
$a=$b;
$b=$c;
echo "交換後: 仮パラメータ a= $a, 仮パラメータ b=$b
n";
echo " swap() 関数を終了します

n";
}

$variablea=5;
$variableb=10;
echo "swap1() 関数を呼び出す前: ";
echo "実際のパラメータ a =$variablea,実際のパラメータ b=$variableb
n";
swap1($variablea,$variableb); swap1() 関数: ";
echo "実際のパラメータ a=$variablea,実際のパラメータ b=$variableb
n";
?>


//上記の 2 つの例は説明のためのものです。アドバイスを~~~

http://www.bkjia.com/PHPjc/322440.html

tru​​ehttp://www.bkjia.com/PHPjc/322440.html技術記事実パラメータの数が仮パラメータの数を超えると、PHP は警告を発行します。これは、PHP の解釈メカニズムが、定義されているが使用されていないパラメータがあると判断し、関数の機能に影響を与える可能性があるためです。ということでアラートが発令されます…
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。