preg_grep関数
関数 preg_grep は、指定された正規表現に一致する要素の配列を返します。最初のパラメータとして正規表現の文字列を受け取り、2番目のパラメータとして検索対象の配列を受け取ります。3番目のオプションパラメータは、正規表現に一致しない要素を返すかどうかを決定します。
構文
preg_grep(pattern, array, [flags]);
フラグ
| フラグ | 説明 |
|---|---|
PREG_GREP_INVERT |
結果を反転します - パターンに一致しない要素を返します。 |
PREG_GREP_NO_ERROR |
不正な正規表現の場合にエラーを生成しません (PHP 8.1以降)。 |
例
数字で始まる配列要素をすべて見つけます:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr);
var_dump($res);
?>
コードの実行結果:
['2b', '4d']
例
フラグ PREG_GREP_INVERT を使用して、正規表現に一致しない要素を取得します:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr, PREG_GREP_INVERT);
var_dump($res);
?>
コードの実行結果:
['a1', 'c3', 'e5']
例
数字のみを含む配列要素をすべて見つけます:
<?php
$arr = ['123', 'abc', '45', 'de', '678'];
$res = preg_grep('/^\d+$/', $arr);
var_dump($res);
?>
コードの実行結果:
['123', '45', '678']
関連項目
-
関数
preg_match,
正規表現とのマッチングを行う関数 -
関数
preg_replace,
正規表現による検索と置換を行う関数