PHP中如何获取URL参数id以返回对应博客文章?
获取URL中的查询参数id值(PHP)
你写的getallheaders()函数是用来获取HTTP请求头的(比如Host、User-Agent这类请求头部信息),但你要的id=1是URL里的查询字符串参数,不属于请求头范畴,所以用这个函数肯定拿不到目标值。
获取这个id有两种常用方法:
直接用PHP内置的
$_GET超全局变量:
因为你的请求是GET方式,URL里的查询参数会自动被PHP解析到$_GET数组里,直接取值即可,记得先判断参数是否存在,避免报错:// 检查id参数是否存在 if (isset($_GET['id'])) { $postId = $_GET['id']; // 这里用$postId去查询对应博客文章 } else { // 处理没有id参数的情况,比如返回404页面 }如果需要解析任意外部URL(非当前请求的URL),可以用
parse_url和parse_str函数组合:$targetUrl = 'https://blogbyme.com/post?id=1'; // 提取URL中的查询字符串部分 $queryPart = parse_url($targetUrl, PHP_URL_QUERY); // 将查询字符串解析为关联数组 parse_str($queryPart, $queryParams); // 获取id值 if (isset($queryParams['id'])) { $postId = $queryParams['id']; }
内容的提问来源于stack exchange,提问作者Leo
相关产品推荐
相关产品推荐

