PHP FAQ

Przeszukiwanie tablic jednowymiarowych za pomocą wyrażeń regularnych

adamper

Funkcja udostępniana do przeszukiwania tablic w PHP to array_search. Umożliwia ona wyszukiwanie wrażenia, które jest równe wyrażeniu w tablicy i pokazuje tylko pierwszy znaleziony wynik.

Co jeśli chcemy wyszukać wynik dzięki wyrażeniom regularnym i pragniemy otrzymać wszystkie wyniki?!
Z pomocą przychodzi ta prosta funkcja:

function array_search2($regex,$array){

    foreach($array as $key => $value){
        IF(preg_match($regex,$value)){$result[] = $key;}
    }

    IF(!empty($result)){

        return $result;

    }else{

        return false;

    }

}

Przykład użycia:

$a = Array('Adam','b','Lu lu','Lee','Adam','Adam' =>'Ala','Ewa' => 'Adam','Felek','Liza');

IF (!array_search2("/^(Adam|Felek|Liza)$/",$a)){echo "Brak wyników";}
else
{
    $b = array_search2("/^(Adam|Felek|Liza)$/",$a);

        foreach($b as $k => $v){

        echo "$a[$v]<br/>";

        }

}
FAQ

0 komentarzy