この記事では、PHP 正規表現の preg_match 関数と preg_match_all 関数を分析して紹介しますので、困っている方は参考にしてください。
preg_match_all() 関数
指定された正規表現に従って指定された文字列を検索し、一致する部分を取り出します特徴。
$pattern='/t(.*?)st/'; $str='tgvregbvst test tdst'; var_dump(preg_match_all($pattern,$str,$arr)); var_dump($arr);
出力結果は次のとおりであることがわかります。
int(3) array(2) { [0]=> array(3) { [0]=> string(10) "tgvregbvst" [1]=> string(4) "test" [2]=> string(4) "tdst" } [1]=> array(3) { [0]=> string(7) "gvregbv" [1]=> string(1) "e" [2]=> string(1) "d" } }
条件を満たすすべてのものがリストされていますが、preg_match() 関数は異なります。
preg_match() 関数
正規表現の一致を実行し、pattern
の一致の数を返します。 preg_match()
は最初の一致後に検索を停止するため、その値は 0 (一致なし) または 1 になります。
$pattern='/t(.*?)st/'; $str='tgvregbvst test tdst'; var_dump(preg_match($pattern,$str,$arr)); var_dump($arr);
出力結果は次のとおりであることがわかります:
int(1) array(2) { [0]=> string(10) "tgvregbvst" [1]=> string(7) "gvregbv" }
前の関数と比較すると、この関数の出力結果は大幅に小さくなっており、これが違いです。
preg_match_all()
preg_match()
関数とは異なり、最後に到達するまで subject
を検索します。エラーが発生した場合、preg_match()
は false
を返します。
推奨学習: 「PHP ビデオ チュートリアル 」
以上がPHP の preg_match 関数と preg_match_all 関数の違いに関する簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。