5

$needlePHPの配列関数では、文字列関数の前に、$haystackまたはその逆の理由があるのはなぜかといつも思っていました。例えば:

mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )
int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )

それは別のPHPの悲しみですか、それともこれについて何らかの論理的な説明がありますか?問題は、どれがどの順序であるかを思い出せないことがよくあるということです。おそらく、これを超えるロジックが役立つでしょう。

4

2 に答える 2

6

これは、言語の初期バージョンで導入され、そのようなBC違反を回避するために修正されなかったphpの悲しみです。それは人々がphpを批判するときに呼び出す最初の理由です

于 2012-12-23T10:57:39.827 に答える
2

PHPは問題があり、ライブラリに一貫性がないためです。

他の理由はありません。

于 2012-12-23T10:57:41.637 に答える