回答編集履歴

1 typo

mpyw

mpyw score 4645

2017/02/27 03:03  投稿

可変長引数の機能ならPHPにもあります。
```php
<?php
function sum(int ...$numbers): int
{
   return array_sum($numbers);
}
var_dump(sum(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)); // int(55)
```
引数の数に応じて完全に処理を変えたい,要するに
[PHP: strtr - Manual](http://php.net/manual/ja/function.strtr.php)
![イメージ説明](3beb303af6ac5915a695766e314e4e8d.png)
↑こういうことをしたいのであれば,
> 引数の数におおじてif文で振り分ける方法が紹介されていたんですが、わざわざそんなことをしないと駄目なんでしょうか?
こうするしか無いです。
> C言語系では、使える便利技だと思うのですが・・・
静的型付言語であるC++とC#はできるようですね。動的型付言語においては,オーバーロードと可変長引数は相反する言語なので,両立は厳しいと思います。PHPだけではなく,RubyやPythonでも不可能です。
静的型付言語であるC++とC#はできるようですね。動的型付言語においては,オーバーロードと可変長引数は相反する概念なので,両立は厳しいと思います。PHPだけではなく,RubyやPythonでも不可能です。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る