今日、分割を使用しているときにいくつかの問題が発生しました。関数についてはまだ深く理解していないので、クローズアップしてマークを付けておきます
まず、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 サイトの他の関連記事を参照してください。