上一篇
📢 最新动态(2025-08)
PHP 8.4 即将优化内置的 URL 处理函数,未来开发者可以更高效地解析复杂参数结构!但在此之前,掌握基础方法仍是必备技能。
当访问 https://example.com/page.php?name=小明&age=18
时,问号 后面的 name=小明&age=18
URL参数,用于向服务器传递数据。
🌰 举个栗子
?id=123
→ 参数名 id
,值 123
?lang=zh&color=red
→ 多个参数用 &
分隔 $_GET
超全局数组(最常用)// 假设URL为:?fruit=apple&count=3 echo $_GET['fruit']; // 输出:apple echo $_GET['count']; // 输出:3
⚠️ 注意:直接使用可能引发未定义警告,建议先判断:
$count = isset($_GET['count']) ? $_GET['count'] : 0;
parse_url()
+ parse_str()
(精准解析)$url = "https://example.com?user=admin&action=delete"; $query = parse_url($url, PHP_URL_QUERY); // 提取参数部分 parse_str($query, $params); // 解析为数组 print_r($params); // 输出:Array ( [user] => admin [action] => delete )
filter_input()
(安全过滤)$name = filter_input(INPUT_GET, 'name', FILTER_SANITIZE_STRING); echo $name; // 自动过滤危险字符
$url = "?list=1,2,3"; $list = explode(',', $_GET['list']); // 转为数组 [1, 2, 3]
// URL: ?hobby=music&hobby=reading $hobbies = $_GET['hobby']; // 自动转为数组 foreach ($hobbies as $hobby) { echo "爱好:$hobby"; }
$page = $_GET['page'] ?? 1; // 如果未传参,默认为1
$keyword = urlencode("PHP教程"); // 转为:PHP%E6%95%99%E7%A8%8B echo urldecode($keyword); // 还原
Q:参数中包含特殊符号怎么办?
A:使用 urlencode()
转义,如 ?data=Hello%20World
Q:$_GET
和 $_REQUEST
区别?
A:$_REQUEST
包含 GET/POST/COOKIE 数据,但安全性较低,建议明确来源。
$_GET
+ 默认值处理 parse_url()
组合技 filter_input()
💡 小贴士:PHP 8.4 可能会引入 get_url_params()
新函数,持续关注官方更新!
(本文方法基于 PHP 7.4+ 测试通过,信息参考截至 2025-08)
本文由 牧香梅 于2025-08-01发表在【云服务器提供商】,文中图片由(牧香梅)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://up.7tqx.com/wenda/503463.html
发表评论