1

PHP の関数にいくつかのプリセット変数を渡さないようにして、生活を楽にしたいと思います。

たとえば、これは機能します:

function test1($var2,$var3,$var1=1){
    return '$var1='.$var1.'+$var2='.$var2.'+$var3'.$var3;
}
echo test1($var2=2,$var3=3);
#$var1=1+$var2=2+$var33

しかし、これは(警告なしで)しません:

function test($var1=1,$var2,$var3){
    return '$var1='.$var1.'+$var2='.$var2.'+$var3'.$var3;
}
echo test($var2=2,$var3=3);
#Warning: Missing argument 3 for test(), called in /var/www/atpc.info/f/f/m/t.php on line 6 and defined in /var/www/atpc.info/f/f/m/t.php on line 3
#Notice: Undefined variable: var3 in /var/www/atpc.info/f/f/m/t.php on line 4 
#$var1=2+$var2=3+$var3

おそらく、これを実現する唯一の方法は、常に行末にプリセット変数を配置することです。それは...ですか?

光をありがとう。

4

4 に答える 4

2

オイ...それはPHPで変数を渡す方法ではありません....

変数を送信するには:

function test($var1=1,$var2=1,$var3=1){ //default 1, 1, 1
    return '$var1='.$var1.'+$var2='.$var2.'+$var3'.$var3;
}
echo test(2,3); //only sent for var1 and 2
echo test(null, 2, 3); //only sent for var2 and 3    
echo test(); //default for all
于 2012-05-22T17:04:48.283 に答える
1

PHP.netの関数の引数ページの例5に示すように、デフォルト値はデフォルト以外の値の後に来る必要があります。

于 2012-05-22T17:05:46.150 に答える
0

あなたはあなたの人生を楽にするかもしれませんが、それはある時点であなたがパラメータを渡すべきであり、あなたが忘れたがコードがエラーをスローしなかったというずさんなコードをもたらすかもしれません。それが私の見解です。

于 2012-05-22T17:07:02.377 に答える
0

調べてみてくださいvariable function arguments in PHP

于 2012-05-22T17:05:17.877 に答える