PHPは引数が足りないときはエラーになるが、引数が多いぶんには何も言わない
PHPは関数の引数が足りないときは、Fatalエラーを出すが、引数が多いぶんにはエラー等にはならず、そのまま処理が進む仕様がある。
関数の引数が足りないとき:
function dyadic_function($arg1, $arg2): void
{
// do nothing
}
dyadic_function(1);
出力結果:
PHP Fatal error: Uncaught ArgumentCountError: Too few arguments to function dyadic_function(), 1 passed in Test.php on line 8 and exactly 2 expected in Test.php:3
関数の引数が多いとき:
function dyadic_function($arg1, $arg2): void
{
// do nothing
}
dyadic_function(1, 2, 3);
echo 'OK';
出力結果:
OK
ちなみに、上記の再現コードはGitHubに置いておいた。
引数を多く渡すコードは実行しても気づけないことがあるので、PhpStormを使ってコーディング中に分かるようにしておく。これがまずは手頃にできる対応だろう。
PhpStormが問題点を警告する様子:
Author And Source
この問題について(PHPは引数が足りないときはエラーになるが、引数が多いぶんには何も言わない), 我々は、より多くの情報をここで見つけました https://qiita.com/suin/items/cffe65aed89935572016著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .