質問者さまのやりたい事ですが、対応方法としては、大きく分けて3つの方法があります。
まず1つ目が、preg_grep()関数を使った方法です。コード例と出力結果は下記になります。
$search_word = array (
'hoge hello',
'hello test',
'hello world',
'hoge huga foo'
);
$matches = preg_grep('/^hello (\w+)/i', $search_word);
print_r ($matches);
Array
(
[1] => hello test
[2] => hello world
)
preg_grep()関数の詳しい説明は、PHPマニュアルを参照して下さい。
http://www.php.net/manual/ja/function.preg-grep.php
次に2つ目が、preg_match()関数とarray_reduce()関数を使う方法です。コード例と出力結果は下記になります。
$search_word = array (
'hoge hello',
'hello test',
'hello world',
'hoge huga foo'
);
function _matchewords($m, $str){
if(preg_match('/^hello (\w+)/i', $str, $matches)){
$m[] = $matches[1];
}
return $m;
}
$matches = array_reduce($search_word, '_matchewords', array());
print_r ($matches);
Array
(
[0] => test
[1] => world
)
preg_match()関数とarray_reduce()関数の詳しい説明は、PHPマニュアルを参照して下さい。
http://www.php.net/manual/ja/function.preg-match.php
http://www.php.net/manual/ja/function.array-reduce.php
最後に3つ目が、既存のarray_*やpreg_*関数を使わない簡単な方法です。コード例は下記になります。
$matches = array ();
foreach ($search_word as $str){
if (preg_match('/^hello (\w+)/i', $str, $m)){
$matches[] = $m[1];
}
}
おそらくこれらの方法で検索できると思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。