2013-09-11 36 views
0

如果網址類似於$url=artists/denaro/並且我去了explode("/",$url)。它留下了性格中有一個空格或作爲即時通訊試圖匹配並刪除它像這樣爆炸後的數組末尾的字符網址

$lastelement = end($named_request_data); 
if($lastelement == " ") 
{ 
    unset($lastelement); 
    reset($named_request_data); 
    return $named_request_data; 

} 
+0

我想我可以rtrim($ url)之前,但仍然我想要一個答案 –

回答

1

使用array_filter()代替。它會刪除空的項目。

$string = "artists/denaro/"; 
$array = array_filter(explode('/', $string)); 

$ array現在只包含'artists'和'denaro'。

輸出:

array (size=2) 
     0 => string 'artists' (length=7) 
     1 => string 'denaro' (length=6) 
0

它留下一個空字符串在陣列的最終指標是什麼。

你應該做

$url = "artists/denaro/"; 
$url = trim($url, "/"); 
$arrayUrl = explode("/", $url); 
+0

如果它是一個空的sttring shouldnt「」或「」匹配它? –

+1

@Alex「」不是空字符串。這是一個空白字符串。試試這個:var_dump(''); – Rottingham

0
 $url='artists/denaro/'; 
     $exp = explode("/",$url); 
     var_dump($exp); //1 
     $exp = array_filter($exp); 
     var_dump($exp);//2 

輸出是:

array(3) { [0]=> string(7) "artists" [1]=> string(6) "denaro" [2]=> string(0) "" } //1 
array(2) { [0]=> string(7) "artists" [1]=> string(6) "denaro" } //2 

http://php.net/manual/en/function.array-filter.php 「如果沒有回調被提供時,等於FALSE(見轉換爲布爾值)輸入的所有條目都將是刪除「。

0

您可以使用substr首先刪除最後一個字符。

PHP小提琴:http://phpfiddle.org/main/code/bfi-yr6

您的原始代碼:

$url='artists/denaro/'; 
$parts = explode("/",$url); 
var_dump($parts); 

輸出:

array(3) { [0]=> string(7) "artists" [1]=> string(6) "denaro" [2]=> string(0) "" } 

使用SUBSTR:

$url2 = substr($url, 0, -1); 
$parts2 = explode("/",$url2); 
var_dump($parts2); 

輸出:

array(2) { [0]=> string(7) "artists" [1]=> string(6) "denaro" }