splitとexplodeは、文字列を分解して配列で返すという意味では、同じ動作をする関数です。


split ( 区切り文字, 分解元文字, [配列の数] )
explode( 区切り文字, 分解元文字, [配列の数] )


動作の違いは、区切り文字に正規表現を使えるか/使えないかの違いになります。

split ⇒ 正規表現利用可能
explode ⇒ 正規表現不可


では、どちらを使えば良いのでしょうか。
二つの関数の違いを考えると、正規表現を使えない分、explodeの方が高速な筈です。

ということは、

正規表現を使う場合   ⇒ split
正規表現を使わない場合 ⇒ explode

と考えて良いと思います。

【例】

$moji = "a,b,c,d,e,f,g";
$moji_array = explode( ",", $moji );
var_dump( $moji_array );

$moji2 = "a|b,c.d|e,f,g";
$moji_array2 = split( "[|,.]", $moji2 );
var_dump( $moji_array2 );

【実行結果】

array(7) {
[0]=> string(1) "a"
[1]=> string(1) "b"
[2]=> string(1) "c"
[3]=> string(1) "d"
[4]=> string(1) "e"
[5]=> string(1) "f"
[6]=> string(1) "g"
}

array(7) {
[0]=> string(1) "a"
[1]=> string(1) "b"
[2]=> string(1) "c"
[3]=> string(1) "d"
[4]=> string(1) "e"
[5]=> string(1) "f"
[6]=> string(1) "g"
}