Natknąłem się na ciekawy problem:
Przeszukuję tablicę w poszukiwaniu jakiejś wartości używając funkcji array_search(). Wygląda to mniej więcej tak:
<?php $rs=db_query("SELECT * FROM articles WHERE links like '%article+".$_GET['id']."+%'"); $i=db_num_rows($rs); if ($i > 0) { while ($row=db_fetch_array($rs)) { db_query("UPDATE articles SET links='".$link."' WHERE id='".$row['id']."' LIMIT 1"); } } ?>
Już tłumacze o co chodzi:
Pole links zawiera na przykład dane:
article+140+title|article+143+othertitle
czyli elementy ktore moge sobie rozbic na tablice wzgledem |.
i teraz uzywajac array_search do zmiennej $key zapisuje sobie klucz spelniajacy szukany warunek...
PYTANIE: czy mogę przeszukiwać tablicę pod kątem jakiejś wartości mając zaledwie jej kawałek (kawałek wartości a nie tablicy) - czyli na przyklad mam tylko 140 i szukam wszystkich kluczy tablicy, ktore posiadaja wartosc zawierajaca znaki 140...
Cos w stylu zapytania SQL like '%140%'...
Mam nadzieje ze wyrazam sie dosc jasno...
INNA SPRAWA: jesli funkcja array_search znalazla szukana wartosc w kluczu [0] tablicy, to zwrocona wartosc i zapisana do zmiennej $key jest rowna 0.
Jak zatem sprawdzic czy $key jest rozne od FALSE (bo jak nie znajdzie sie klucz to jest zwracane FALSE - wiem ze to wiecie


Z tego powodu w powyzszym przykladzie nie ma sprawdzenia wartosci $key - po prostu gdy zwrocona byla wartosc 0 jako klucz tablicy [0] - warunek widzial FALSE...
Jeśli macie jakieś ciekawe spostrzezenia jak to rozwiazac, to bardzo proszę o odpowiedzi
