[請益] 請問split()和explode()的差異?

看板PHP作者 (開始頹廢的生活)時間16年前 (2009/08/24 12:18), 編輯推噓3(308)
留言11則, 5人參與, 最新討論串1/1
小弟寫了一段程式,如下: $filename="jpg.gif.png"; //使用split() $arr=split("\.",$filename foreach($arr as $value){ echo $value."<br>"; } echo "<p/>"; //使用explode() $arr=explode(".",$filename); foreach ($arr as $value){ echo $value."<br>"; } 發現兩個函數除了分隔字元不同(一個用「.」,另一個用「\.」) 其他似乎都相同 請問兩個函數真正的差異是什麼?為何split()函數要用\,而explode()不用 感謝您的回答~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.85.28.249

08/24 12:51, , 1F
split吃的是regex explode吃的是string
08/24 12:51, 1F

08/24 12:52, , 2F
其實split應該要叫ereg_split才對
08/24 12:52, 2F

08/24 12:52, , 3F
php有些命名規則很莫名奇妙
08/24 12:52, 3F

08/24 14:04, , 4F
不建議使用split,他在未來的版本會被移除
08/24 14:04, 4F

08/24 14:20, , 5F
有些是舊版相容的關係
08/24 14:20, 5F

08/24 15:42, , 6F
RTFM
08/24 15:42, 6F

08/24 19:15, , 7F
我覺得ereg*很沒有存在價值.. 沒有pcre好用啊
08/24 19:15, 7F

08/24 19:15, , 8F
而且case sensitive/insensitive還分兩群function
08/24 19:15, 8F

08/24 19:15, , 9F
很醜
08/24 19:15, 9F

08/24 19:16, , 10F
buganini 所以 php6已經要阿ereg*移除了...
08/24 19:16, 10F

08/24 19:17, , 11F
文章代碼(AID): #1AaXI1E_ (PHP)
文章代碼(AID): #1AaXI1E_ (PHP)