首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP使用查询分解URL

PHP使用查询分解URL
EN

Stack Overflow用户
提问于 2019-11-07 13:22:24
回答 1查看 61关注 0票数 0

我是PHP的新手,正在尝试获取一个这样的URL:

http://www.website.com/presale-event?eventId=386158&presaleId=5dbb0ec3f6f96355f00c2173

..。并最终设置$eventId = 386158$presaleId = 5dbb0ec3f6f96355f00c2173

以下是我尝试过的方法,但我知道“预售事件”并不是完整的$uri_segments1。只是不确定正确的语法来解析它。注意:我只想在$uri_segements1“包含”预售事件的情况下触发它。

代码语言:javascript
复制
if (isset($_SERVER['REQUEST_URI'])) {
    $uri_segments = explode('/', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
    if ($uri_segments[1] === 'presale-event') {
        list($eventId, $presaleId) = explode('=', $uri_segments[1], 2);
    }
}
EN

回答 1

Stack Overflow用户

发布于 2019-11-07 13:33:35

要从URL获取查询参数及其值,请执行以下操作:

代码语言:javascript
复制
$url = "http://www.website.com/presale-event?eventId=386158&presaleId=5dbb0ec3f6f96355f00c2173";
$parsedUrl = parse_url($url);
if ($parsedUrl['path'] == '/presale-event') {
    $queryString = $parsedUrl['query'] ?? '';
    parse_str($queryString, $queryParams);
    var_dump($queryParams);
}

输出将为:

代码语言:javascript
复制
array(2) {
  ["eventId"]=>
  string(6) "386158"
  ["presaleId"]=>
  string(24) "5dbb0ec3f6f96355f00c2173"
}

如果查询字符串与当前传入的请求相关,那么您也可以使用$_GET数组,而不是解析URL。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58742401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档