Autor | Zpráva | ||
---|---|---|---|
tululum Profil * |
#1 · Zasláno: 27. 8. 2009, 16:43:29
Dobrý den,
potřebuji pomoci s funkcí array_search() Mám následující array: Array ( [0] => 5-2 [1] => 4-3 [2] => 3-4 [3] => 3-1 ) Potřebuji vyhledat v poli pouze část řetězce a vrátit jeho key (pozici) Například: potřebuji vyhledat v tomto poli, na kolikáté pozici je řetězec obsahující v jednom ze svých řetězců řetězec "-3"; výsledek by měl být 1 (protože na pozici 1 je řetězec "4-3" - a ten obsahuje řetězec "-3") Jiný příklad: Array ( [1] => nebe [2] => dudy) chci vyhledat, na kolikáté pozici je řetězec, který obsahuje řetězec "udy" Ten je na pozici 2 (dudy). Problém je v tom, že funkce array_search() vyhledává pouze celé řetězce, zatímco já potřebuji vyhledat řetězec obsahující jiný_řetězec (ovšem řetězec != jiný_řetězec) Snad jsem to vysvětlil tak, aby to někdo pochopil a osvětlil mi, jak toho docílit. |
||
tiso Profil |
#2 · Zasláno: 27. 8. 2009, 16:52:41
tululum: jedine prejsť pole v cykle a zistovať pomocou funkcie strpos() či sa tam daný reťazec nachádza.
|
||
fandaa Profil |
#3 · Zasláno: 27. 8. 2009, 17:00:01
tululum
Možná nějak takto (převzato a upraveno z komentáře v dokumentaci): <?php function array_find($needle, $haystack) { foreach ($haystack as $key => $item) { if (strpos($item, $needle) !== FALSE) { return $key; break; } } } ?> |
||
tululum Profil * |
#4 · Zasláno: 27. 8. 2009, 17:15:35
Super, díky! Kód od uživatele fandaa funguje suprově :-) Díky!
|
||
Časová prodleva: 15 let
|
0