2014-02-08 106 views
0

這看起來很平凡,但它傷害了我的腦袋。有人可以解釋原因 http://php.net/manual/es/function.explode.php示例顯示(我已修剪)。PHP爆炸不能正常工作

$pizza = "piece1 piece2 piece3"; // string 
$pieces = explode(" ", $pizza); 
// after a var dump 
array(3) { [0]=> string(6) "piece1" 
      [1]=> string(6) "piece2" 
      [2]=> string(6) "piece3" } 

這工作可愛的,刪除所有的空間和做一個可愛的小陣列一起工作,但是當我使用類似下面

$path = "/test-gallery/2/"; // string 
$urlpieces = explode("/", $path); 
// after a var dump 
array(4) { [0]=> string(0) "" 
      [1]=> string(12) "test-gallery" 
      [2]=> string(1) "2" 
      [3]=> string(0) "" } 

我得到的第一個和最後一個空字符串表示的東西。爲什麼不移除第一個和最後一個數組元素?我總是可以添加另一個步驟並刪除它,但爆炸應該把它全部應用於此?

感謝您的建議提前。

+2

因爲這是爆炸如何工作! –

+1

使用trim($ path,「/」);在爆炸之前 – PravinS

+1

根據文檔,每個文檔都是通過將其分割爲由字符串分隔符構成的邊界而形成的字符串的子字符串。 –

回答

5

我總是可以添加另一個步驟並將其刪除,但爆炸應該 應該把它全部拿出來嗎?

不,那是explode是如何工作的。分隔符是在兩端""字符串被發現在爆炸後的兩端

+0

謝謝你的建議,因爲我提到這可能是一個微不足道的問題。 – Ant

+0

這就是爲什麼沒有人投票你的問題:) – Jigar

+0

:)至少不是現在。反正我加了 $ urlpieces = array_filter($ urlpieces);哪個工作 – Ant