Расщепление массива на основе определенных ключевых слов с использованием php - PullRequest
0 голосов
/ 08 февраля 2012

у меня такой массив

Array (
    [0] => styles.css 
    [1] => gallerystyle.css 
    [2] => index.php 
    [3] => javascript:; 
    [4] => javascript:; 
    [5] => about.php 
    [6] => gallery.php?id=33 
    [7] => gallery.php?id=30 
    [8] => gallery.php?id=21 
) 

Я хочу разбить те массивы, в которых найден этот шаблон ".php?"

Например:

Я нашел этот шаблон в gallery.php? Id = 33, поэтому он должен отображать только эти типы массивов на основе шаблона .... любая помощь будет оценена по достоинству:)

1 Ответ

0 голосов
/ 09 февраля 2012

Вы можете использовать одну из следующих функций (ArrayFilterRegExp, если вам нужны регулярные выражения, или ArrayFilterStrpos, если нет).

function ArrayFilterRegExp($array, $pattern)
{
    $res = array();
    foreach($array as $a)
        if (preg_match($pattern, $a))
            $res[] = $a;
    return $res;
}
$filtered = ArrayFilterRegExp($array, '#\.php#i');


function ArrayFilterStrpos($array, $find)
{
    $res = array();
    foreach($array as $a)
        if (strpos($a, $find) !== false)
            $res[] = $a;
    return $res;
}
$filtered = ArrayFilterStrpos($array, ".php");
...