我想获取网址的最后一部分,如下所示:
http://localhost:8888/blog/public/index.php/categories/Horror
我尝试过
$endOfUrl = end(explode('/',$url));
但是问题是我得到了一个通知,“只有变量应该通过引用传递”
我需要这个“恐怖”来在数据库中获取它的ID,并获取具有该ID的所有帖子,因为我正尝试编写博客以获取php的经验。
与此相关的另一个问题:是否可以使其动态化,使其也可以用于所有其他类别?还是我必须对每个类别都这样做?
我是php世界的新手,所以如果有人可以帮助我,我将非常感激。
答案 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语言本身的限制。
使用basename()
,
$url = 'http://localhost:8888/blog/public/index.php/categories/Horror';
echo basename($url);