PHPでは、通常、定義されたよりも多くのパラメータを持つ関数を呼び出すことができます。多くのパラメータを定義されている関数に渡すことを禁止します
function f($a, $b) {
return $a . $b;
}
f('a', 'b', 'c', 'e');
は完全に有効です。
可変数のパラメータで関数を定義することができると私は理解します。しかし、ほとんどの場合、それはあなたがしたいことではありません。 この場合、.
を間違って,
に置き換えても、警告を受け取ることはありません。
$x = '0';
f('a' , 'b' . $x . 'c') // returns ab0c
f('a' , 'b' , $x . 'c') // returns ab
PHP 7では、function f($a, $b, ...$others)
という構文があります。したがって、原理的には、可変パラメータ関数を通常の関数と区別することが可能です。
パラメータが多すぎる関数が呼び出されたときに通知する方法はありますか?