PHP では、 C のような言語とは異なり、関数をオーバーロードすることはできません。関数定義はその名前のみに依存し、引数リストは含まれません。その結果、PHP では同じ名前の複数の関数を定義できません。
PHP のクラス メソッドのオーバーロードも他の言語とは異なります。期間的には一貫性を保っていますが、パターンは明確です。引数リストに依存する代わりに、PHP は変分メソッドを使用します。
動的な引数を受け取ることができる可変引数関数を宣言できます。渡された引数の数には func_num_args() を使用してアクセスでき、引数自体は func_get_arg() を使用して取得できます。これらのメソッドは通常どおり利用できます。
次の例を考えてみましょう:
function myFunc() { for ($i = 0; $i < func_num_args(); $i++) { printf("Argument %d: %s\n", $i, func_get_arg($i)); } } /* Argument 0: a Argument 1: 2 Argument 2: 3.5 */ myFunc('a', 2, 3.5);
以上がPHP 関数はオーバーロードされる可能性がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。