ホームページ  >  記事  >  バックエンド開発  >  PHPのexplode()関数とsplit()関数の違い

PHPのexplode()関数とsplit()関数の違い

怪我咯
怪我咯オリジナル
2017-07-07 10:02:091517ブラウズ

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

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

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

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

一見すると違いはなく、同じ機能です。私はこの間違いを犯しました。 2 つの関数の最初のパラメーターは文字列 $pattern と文字列区切り文字であることに注意してください。1 つは $pattern が通常の string であり、もう 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は無効ですが、explodeは有効です。

以上がPHPのexplode()関数とsplit()関数の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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