将网址的最后一部分保存在变量

时间:2018-11-27 15:52:39

标签: php url

我想获取网址的最后一部分,如下所示:

http://localhost:8888/blog/public/index.php/categories/Horror

我尝试过

$endOfUrl = end(explode('/',$url));

但是问题是我得到了一个通知,“只有变量应该通过引用传递”

我需要这个“恐怖”来在数据库中获取它的ID,并获取具有该ID的所有帖子,因为我正尝试编写博客以获取php的经验。

与此相关的另一个问题:是否可以使其动态化,使其也可以用于所有其他类别?还是我必须对每个类别都这样做?

我是php世界的新手,所以如果有人可以帮助我,我将非常感激。

1 个答案:

答案 0 :(得分:3)

end()尝试这种方式,但是如果我是我,我会尝试basename()完成工作。

<?php
$url = 'http://localhost:8888/blog/public/index.php/categories/Horror';
$exploded = explode('/',$url);
$endOfUrl = end($exploded);
echo $endOfUrl;
?>

为什么它不能单行运行:

  

end()需要引用,因为它修改了内部   数组的表示形式(即,它使当前元素成为指针   指向最后一个元素).explode('。',$ url)的结果不能为   变成了参考,这是PHP语言本身的限制。

演示: https://3v4l.org/ttKui

使用basename()

$url = 'http://localhost:8888/blog/public/index.php/categories/Horror';
echo basename($url);

演示: https://3v4l.org/pt2cQ