ホームページ >バックエンド開発 >PHPの問題 >PHP の preg_match 関数と preg_match_all 関数の違いに関する簡単な説明

PHP の preg_match 関数と preg_match_all 関数の違いに関する簡単な説明

醉折花枝作酒筹
醉折花枝作酒筹オリジナル
2021-03-23 11:57:332563ブラウズ

この記事では、PHP 正規表現の preg_match 関数と preg_match_all 関数を分析して紹介しますので、困っている方は参考にしてください。

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。