2012-06-29 10 views
11

Jaki jest najbardziej praktyczny sposób na pokonanie zamieszania w sterty igieł w PHP?Przezwyciężenie zamieszania w stogu siana w PHP

Tu $ igła jest pierwszym argumentem

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

Tu $ igły jest drugi argument

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

https://gist.github.com/1672543 – Gordon

+0

@Gordon, zamieniłem tą listę funkcji z tablicy wewnętrznej od 'get_defined_functions()', i stwierdził, że lista ta nie zdobywa się mb funkcje ciągów i iconv te. Ale wciąż jest schludny; – TerryE

+0

Parahat, to tylko jeden z wielu aspektów, które podkreślają, że PHP ewoluował, a nie zrodził się z czystego przeprojektowania. Konwencje nazewnictwa wielu funkcji są inne. – TerryE

Odpowiedz

1

Nie sądzę, że to ważne. Podobnie jest z bash linuksowym. Na przykład tar używa plików archiwum argumentów, ale ln używa argumentów target nazwa_połączenia. Ale mój przykład nie jest językiem programowania, więc tutaj jest inne wytłumaczenie: co było pierwszym na świecie liczeniem czy numerowaniem? Za to, czego potrzebujesz, zawsze są 2 argumenty. To samo dotyczy mojego przykładu z tar i ln.

8

To może mieć sens, jeśli myślisz o tym jako o wstępnej poprawce operacji wykonywanych w trakcie operacji.

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

Ale ciąg to tablica znaków. ** ** –

+2

Ale dlaczego zdanie "czy $ stodoła strstr $ igła" będzie bardziej logiczne niż "to igła strstr $ stóg siana"? – Nanne

+0

@Nie więcej o mnemonic niż logice. wyrażenie "jest x in y" ma "w", a zatem in_array pierwszy parametr będzie x, a drugi będzie y. w zdaniu z "do", y jest przed x. więc funkcja najpierw zajmie y, a następnie x. –

Powiązane problemy