gpt4 book ai didi

PHP - 获取 URL 参数并在数组中重新排列

转载 作者:搜寻专家 更新时间:2023-10-31 21:13:36 24 4
gpt4 key购买 nike

进入页面的 URL 看起来像这样:

“http://localhost/testSite/id/1/friend_id/32/msg_id/5/category_id/40”

我想去除这些变量(id/1friend_id/32msg_id/5 等)并将它们变成像这样的数组:

$params = array('id' => 1, 'friend_id' => 32, 'msg_id' => 5, 'category_id' => 40)

这样我就可以像这样访问这些值:

$params['id']; $params['friend_id'];

我以为我可以通过以下代码找到一些东西,但它并没有多大帮助。

    $keys = explode('/', $url);
$k2 = $keys;
$result = array();

foreach ($keys as $k => $v) {
$result[$v] = next($k2);
}
array_pop($result);
print_r($result);

我将从上面的代码中得到以下输出:

Array
(
[id] => 1
[1] => friend_id
[friend_id] => 32
[32] => msg_id
[msg_id] => 5
[5] => category_id
[category_id] => 40
)

有没有人以前做过这个?如何修改上面的代码使其正常工作?或者有人对如何执行此操作有其他想法吗?

如果有任何帮助,我将不胜感激,谢谢!

最佳答案

如果这是由框架完成的,应该有获取参数的方法。在这种情况下请参阅文档。

否则你可以使用简单的正则表达式来解析它。这个想法是使用定义一个前缀(代码中的$root)。

$url = 'http://localhost/testSite/id/1/friend_id/32/msg_id/5/category_id/40';
$root = 'http://localhost/testSite/';
$params = substr($url, strlen($root));
preg_match_all("#([^/]+)/([^/]+)#", $params, $match);
$result = array_combine($match[1], $match[2]);

关于PHP - 获取 URL 参数并在数组中重新排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13783480/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com