在PHP中克服针干草堆混乱

时间:2012-06-29 11:01:04

标签: php language-design

在PHP中克服针干草堆混淆最实用的方法是什么?

这里$ needle是第一个参数

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

这里$ needle是第二个参数

string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

3 个答案:

答案 0 :(得分:8)

如果您将此视为修复操作的预修复表示,则可能有意义。

is "bat" in array ("cat", "rat", "bat", "fat")
is $needle in_array $haystack
in_array($needle, $haystack)


does "supercalifragistic" string contain string "percal"
does $haystack strstr $needle
strstr($haystack, $needle)

答案 1 :(得分:2)

我为所有包含针式干草堆参数的php命令制作了一个备忘单。

字符串函数是干草堆/针:

          strpos $haystack, $needle
         stripos $haystack, $needle
          strstr $haystack, $needle
          strchr $haystack, $needle
         stristr $haystack, $needle
         strrchr $haystack, $needle
        strripos $haystack, $needle
         strrpos $haystack, $needle
    substr_count $haystack, $needle

strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) : int
stripos ( string $haystack , mixed $needle [, int $offset = 0 ] ) : int
strstr ( string $haystack , mixed $needle [, bool $before_needle = FALSE ] ) : string
(same as strstr) strchr ( string $haystack , mixed $needle [, bool $before_needle = FALSE ] ) : string
stristr ( string $haystack , mixed $needle [, bool $before_needle = FALSE ] ) : string
strrchr ( string $haystack , mixed $needle ) : string
strripos ( string $haystack , mixed $needle [, int $offset = 0 ] ) : int
strrpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) : int
substr_count ( string $haystack , string $needle [, int $offset = 0 [, int $length ]] ) : int

数组函数是针/干草堆(array_filter除外):

    array_search $needle, $haystack
        in_array $needle, $haystack

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

array_filter(array $ array [,callable $ callback [,int $ flag = 0]]):array

答案 2 :(得分:0)

我认为这不重要。它与Linux bash相同。例如,tar使用参数存档文件,但ln使用参数target linkname。但我的例子不是一种编程语言,所以这里有另一种解释:世界上第一个计算或编号的是什么?对于你需要的东西,它始终是2个参数。我的tar和ln的例子也是如此。