まず、次の 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;//出力なし
Split の正しい使用方法は次のとおりです。エスケープ記号
コードをコピー コードは次のとおりです:
$test1 = end(split('.','abc.txt'));
echo $test1;//output txt
分析: "." 記号は正規表現のキーワードであるため、split は無効で、explode は機能します。