сохранить последнюю часть URL в переменной - PullRequest
0 голосов
/ 27 ноября 2018

Я хочу получить последнюю часть URL, которая выглядит следующим образом:

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

Я пробовал это с

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

, но я получаю уведомлениечто "Только переменные должны передаваться по ссылке"

Мне нужен этот "Ужас", чтобы получить его идентификатор в моей базе данных и получить все сообщения с этим идентификатором, так как я пытаюсь написать блог для получения опытас php.

Еще один вопрос, связанный с этим: возможно ли сделать его динамичным, чтобы его можно было использовать и для всех других категорий?Или я должен делать это для каждой отдельной категории?

Я новичок в мире php, поэтому я был бы очень признателен, если бы кто-то мог помочь мне в этом.

1 Ответ

0 голосов
/ 27 ноября 2018

Попробуйте так же для end(), но на вашем месте я постараюсь basename() выполнить свою работу.

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

Причина, по которой он не работает в одной строке:

end () требует ссылку, поскольку она изменяет внутреннее представление массива (т. Е. Делает указатель текущего элемента указателем на последний элемент). Результат разнесения ('.', $ url) нельзя превратить в ссылку, и это ограничение в самом языке PHP.

DEMO: https://3v4l.org/ttKui

Использование basename(),

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

DEMO: https://3v4l.org/pt2cQ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...