如果网址与$url=artists/denaro/
类似,那么我会explode("/",$url)
。它留下了一个角色,它有一个空格或者我试图匹配并删除它就像这样
$lastelement = end($named_request_data);
if($lastelement == " ")
{
unset($lastelement);
reset($named_request_data);
return $named_request_data;
}
答案 0 :(得分: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)
答案 1 :(得分:0)
它在数组的最后一个索引处留下一个空字符串。
你应该做
$url = "artists/denaro/";
$url = trim($url, "/");
$arrayUrl = explode("/", $url);
答案 2 :(得分: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(参见转换为布尔值)将被删除。”
答案 3 :(得分: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" }