5

我一直想知道为什么在 PHP 数组函数中我们在字符串函数$needle之前有$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

这是在语言的早期版本中引入的 php 悲伤,并且从未纠正以避免这种 BC 中断。这是人们批评 php 时调用的第一个原因

于 2012-12-23T10:57:39.827 回答
2

因为 PHP 是个大杂烩,而且库是不一致的。

没有其他原因。

于 2012-12-23T10:57:41.637 回答