无法获取网址的最后一部分

Sev*_*oom 3 html php

我正在尝试获取此url字符串的最后一部分: national/italy/serie-a/20152016/s11663/

我的目标是:s11663这是我的代码:

$path = parse_url("national/italy/serie-a/20152016/s11663/", PHP_URL_PATH);
$pathFragments = explode('/', $path);
$end = end($pathFragments);
var_dump($end);
Run Code Online (Sandbox Code Playgroud)

但我得到:

string(0)""

我做错了什么?

Ika*_*ari 5

我你$path的字符串/在末尾包含一个,所以,当你爆炸时,最后一个/也被计算,最后一个片段什么都没有,因为在最后一个之后没有任何东西/,所以只需删除它/.

$path = parse_url("national/italy/serie-a/20152016/s11663", PHP_URL_PATH);
$pathFragments = explode('/', $path);
$end = end($pathFragments);
var_dump($end);
Run Code Online (Sandbox Code Playgroud)

或者,如果你不能删除最后一个/,那么只是substr字符串:

$url = "national/italy/serie-a/20152016/s11663/";
$url = substr($url, 0, strlen($url) - 1);
$path = parse_url($url, PHP_URL_PATH);
$pathFragments = explode('/', $path);
$end = end($pathFragments);
var_dump($end);
Run Code Online (Sandbox Code Playgroud)

希望它能帮到你!

更新

在最后一个例子中,它只是substr最后一个char cut,无论是什么char,所以,你能做的就像@ firstone的评论所建议的那样,使用而不是$url = substr($url, 0, strlen($url) - 1);,是:

$url = rtrim($url, "/");
Run Code Online (Sandbox Code Playgroud)

或这个:

if($url[strlen($url) - 1] == "/") {
    $url = substr($url, 0, strlen($url) - 1);
} else {
    // Let the url be as it is.....
}
Run Code Online (Sandbox Code Playgroud)