夏休み期間限定イベントで「気になる」がたくさんついたのでちゃんと質問します。
PHPにはarray_*()
(in_array()
なども含め)の形の配列を扱う関数がたくさんありますよね。
しかし関数によって引数の順番に統一性がないように見え、PHPを触っている期間は長いものの全然覚えられず、相変わらずドキュメントを常に参照してしまいます。
例えば、array_filter()
の引数は以下のようにフィルタする(処理対象の)配列を第一引数に入れますが、
array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )
一方in_array()
では、検索したい値を第一引数に、検索対象の配列を第二引数に入れます。
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
(書いてみてちょっと比較対象がよくないような気もしました・・・)
これはどうしてこういうぐちゃぐちゃなことになっているのでしょうか? 何か法則性はあるのでしょうか? それとも何も法則性はなくて、PHPによくある「歴史的な経緯」なのでしょうか?
(せめてPythonみたいにキーワード引数(somefunction(msg='message')
)が使えるようになってくれればよいのですが)
参考
PHP: array_filter - Manual
http://php.net/manual/ja/function.array-filter.php
PHP: in_array - Manual
http://php.net/manual/ja/function.in-array.php
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/21 04:22