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