ホームページ >バックエンド開発 >PHPチュートリアル >php_PHPチュートリアルのexplode関数とsplit関数の違い
あるレベルでは、PHP のexplode関数とsplit関数には違いはありません。これらは文字を配列に分割するために使用されます。しかし、注意深く見てみると、explode関数とsplit関数にはまだ違いがあります。
まず 2 つのメソッドの定義を見てみましょう:
関数プロトタイプ: 配列分割 (string $pattern, string $string [, int $limit])
関数プロトタイプ: 配列explode (string $separator, string $string [, int $limit])
一見すると同じ機能のように見えます。私はこの間違いを犯しました。 2 つの関数の最初のパラメータは文字列 $pattern と文字列区切り文字であることに注意してください。1 つは $pattern が通常の文字列であり、もう 1 つは $separator が通常の文字列であることです。 以下のコードを見てください:
コードは次のとおりです | コードをコピー |
$test = end(explode('.', 'abc.txt')); echo $test;//txtを出力 次のものに置き換えられました: $test1 = end(split('.','abc.txt')); echo $test1;//出力なし |
分割の正しい使用方法は、エスケープ記号を追加することです
$test1 = end(split('.','abc.txt'));
echo $test1;//txtを出力
分析: 「.」記号は正規表現のキーワードであるため、split は無効ですが、explode は有効です。
スラッシュ、ドット、ダッシュで区切られる日付を解析します:
例 2.split() の例
// 区切り文字にはスラッシュ、ドット、水平線を使用できます
$date = "1973/04/30 ";
list($month, $day, $year) = split ( '[/.-] ', $date);
echo "月: $month; 日: $day; 年: $year
n ";
?>
Perl で同様の @chars = split( ' ', $str) の動作をエミュレートするには、preg_split() 関数の例を参照してください。
パターンは正規表現であることに注意してください。使用する区切り文字が正規表現内の特殊文字である場合は、最初にそれをエスケープする必要があります。 Split() (またはその他の正規表現関数) の動作がおかしいと思われる場合は、PHP ディストリビューションの regex/ サブディレクトリに含まれる regex.7 ファイルを読んでください。ファイルはマニュアルページ形式です
http://www.bkjia.com/PHPjc/632794.html