ホームページ >バックエンド開発 >PHPチュートリアル >php_PHPチュートリアルのexplode関数とsplit関数の違い

php_PHPチュートリアルのexplode関数とsplit関数の違い

WBOY
WBOYオリジナル
2016-07-13 10:48:11834ブラウズ

あるレベルでは、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

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632794.html技術記事あるレベルでは、PHP のexplode関数とsplit関数には違いはありません。これらは文字を配列に分割するために使用されます。しかし、注意深く見てみると、explode関数とsplit関数にはまだ違いがあります...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。