ホームページ  >  記事  >  バックエンド開発  >  PHPでのexplodeとsplitの違いの分析

PHPでのexplodeとsplitの違いの分析

伊谢尔伦
伊谢尔伦オリジナル
2016-12-01 11:03:471085ブラウズ

今日、分割を使用しているときにいくつかの問題が発生しました。関数についてまだ深く理解していないので、クローズアップしてマークを付けておきます

まず、2つのメソッドの定義を見てみましょう:

関数プロトタイプ: array split (string $pattern, string $string [, int $limit])

関数プロトタイプ :arrayexplode (string $separator, string $string [, int $limit])

一見すると違いはなく、同じ関数に見えます。私はこの間違いを犯しました。 2 つの関数の最初のパラメータは文字列 $pattern と文字列区切り文字であることに注意してください。1 つは $pattern が通常の文字列であり、もう 1 つは $separator が通常の文字列であることです。

次のコードを見てください:

$test = end(explode('.', 'abc.txt'));
echo $test;//output txt

次のように置き換えます:

$test1 = end(split('.','abc.txt'));
echo $test1;//no output

分割の正しい使用方法は次のとおりです: エスケープ記号を追加します

$test1 = end(split('\.','abc.txt'));
echo $test1;//output txt

分析: 「.」記号は正規表現のキーワードであるため、 Split は無効ですが、Explore は有効です。


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