PHP url to array

2022-08-30 17:29:34

我从网络日志中获取了以下网址:

http://www.domain.com/page?s=194&client=151678&m=a4a&v=1&g=54
http://www.domain.com/page?s=51&client=617171&m=b4z&v=8&g=97

我如何在PHPso的数组中转换此URL,我将有一个这样的数组

array(
 'page' => array(
   's' => 194,
   'client' => 151678
   'm' => 'a4a',
   'v' => 1,
   'g' => 54
 )
 etc..
)

然后,我可以循环到该数组以查找重复项或正确验证信息。


答案 1

PHP有一个本机函数,parse_str函数。你可以像这样使用它:

parse_str($_SERVER['QUERY_STRING'], $outputArray);

这将完成您需要的操作。


答案 2

可能有更好的方法来做到这一点,但这就是我想到的。

<?php

    $url = 'http://www.domain.com/page?s=194&client=151678&m=a4a&v=1&g=54';
    $remove_http = str_replace('http://', '', $url);
    $split_url = explode('?', $remove_http);
    $get_page_name = explode('/', $split_url[0]);
    $page_name = $get_page_name[1];

    $split_parameters = explode('&', $split_url[1]);

    for($i = 0; $i < count($split_parameters); $i++) {
        $final_split = explode('=', $split_parameters[$i]);
        $split_complete[$page_name][$final_split[0]] = $final_split[1];
    }

    var_dump($split_complete);

?>

http://codepad.org/xTsAks46