0

如果网址是这样的$url=artists/denaro/,我就走了explode("/",$url)。它留下一个字符,它是一个空格还是我试图匹配和删除它的东西

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

}
4

4 回答 4

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)
于 2013-09-11T00:21:45.203 回答
0

它在数组的最终索引处留下一个空字符串。

你应该做

$url = "artists/denaro/";
$url = trim($url, "/");
$arrayUrl = explode("/", $url);
于 2013-09-11T00:21:17.593 回答
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 的输入条目(请参阅转换为布尔值)都将被删除。”

于 2013-09-11T00:24:55.367 回答
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" }
于 2013-09-11T00:26:16.997 回答