PHP获取URL参数是非常常见的操作,对于参数的获取,不仅限于通过?符号传参。有时候也需要通过 / 路径传参,例如 /article/123。
下面是通过 PHP 获取 / 传参的方法:
首先,通过 $_SERVER['REQUEST_URI']
获取完整 URL,然后使用 explode()
或 preg_split()
函数按照 / 将 URL 拆分为数组,最后获取数组中的参数。
以下是示例代码:
// 获取完整 URL
$url = $_SERVER['REQUEST_URI'];
// 拆分 URL 为数组,按照 / 进行拆分
$urlPart = explode('/', $url);
// 获取数组的最后一项作为参数 $id
$id = end($urlPart);
// 输出参数 $id 的值
echo $id;
如果 URL 中有多个参数需要获取,可以通过下标获取对应的值:
// 获取完整 URL
$url = $_SERVER['REQUEST_URI'];
// 拆分 URL 为数组,按照 / 进行拆分
$urlPart = explode('/', $url);
// 获取第二个参数
$param1 = $urlPart[2];
// 获取第三个参数
$param2 = $urlPart[3];
// 输出参数的值
echo $param1;
echo $param2;
另外,如果 URL 比较复杂且不规则,我们也可以使用正则表达式进行匹配。例如,需要匹配 /article/123 中的 article 和 123,可以使用下面的代码:
// 获取完整 URL
$url = $_SERVER['REQUEST_URI'];
// 使用正则表达式匹配 /article/123 中的参数
preg_match('/^\/(\w+)\/(\d+)$/', $url, $matches);
// 输出参数的值
echo $matches[1];
echo $matches[2];
正则表达式 /^\/(\w+)\/(\d+)$/
匹配以 / 开头,接着是任意单词字符(article 等),再接着是 /,最后是一个或多个数字。()
表示正则表达式匹配结果会放到 $matches
数组中对应的下标中。
通过上述方法,就可以轻松地获取 / 传参的值了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php获取’/’传参的值简单方法 - Python技术站