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