split()
のPHPマニュアルには、
この関数は [〜#〜] deprecated [〜#〜] PHP 5.3.0以降です。この機能に依存することは強くお勧めしません...代わりに
explode()
を使用してください。
しかし、split()
とexplode()
の違いを見つけることはできません。 join()
は非推奨ではないので、何が得られますか?
非推奨になった理由は
explode()
は、正規表現に基づいて分割されないため、文字列を正規表現パーサーで分析する必要がないため、かなり高速です。preg_split()
はより高速で、正規表現の分割にPCRE正規表現を使用しますjoin()
とimplode()
は相互のエイリアスであるため、違いはありません。
split
は正規表現を使用し、 explode
は固定文字列を使用します。正規表現が必要な場合は、 preg_split
、これはPCREを使用します(正規表現パッケージはPHP標準ライブラリ全体で優先されるようになりました)。
両方の関数は、文字列を分割するために使用されます。
ただし、Splitは、正規表現を使用して文字列を分割するために使用されます。
一方、Explodeは、別の文字列を使用して文字列を分割するために使用されます。
E.g explode( "this"、 "this is a string"); 「Is a string」を返します
E.g Split( "+"、 "This + is a string");
split()
では、正規表現を使用して文字列を分割できます。一方、explode()
は文字列を文字列で分割します。 preg_split は、正規表現が必要な場合のはるかに高速な代替手段です。
どちらも文字列を配列に分割するために使用されますが、split()
は文字列を使用するのに対し、explode()
は分割にパターンを使用します。 explode()
は、正規表現に基づく文字列と一致しないため、split()
よりも高速です。
split()
関数は、正規表現を使用して文字列を配列に分割し、配列を返します。
explode()
関数は、ストリングをストリングごとに分割します。
例えば:
<?php
$split_array=split(':','I:P:S');
$explode_array=explode('and','I and P and S');
print_r($split_array);
print_r($explode_array);
?>
結果は
Array ( [0] => I [1] => P [2] => S )
Array ( [0] => I [1] => P [2] => S )
注:関数split()は、PHP 5.3.0で廃止され、PHP 7.0.0で削除されました