Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 编码URL如何获取查询字符串值_Php - Fatal编程技术网

Php 编码URL如何获取查询字符串值

Php 编码URL如何获取查询字符串值,php,Php,我觉得我在通过PHP获取ecoded URL中的查询字符串值时犯了一些基本错误 任何人都可以从下面的URL中找到用PHP获取查询字符串值的最佳方法 http%3A%2F%2Fwwww.mycompany.org%2FmyStatusListener%3FmtmId%3D%25MTMID%25%26statusCode%3D%25 - STATUSCODE%25%26statusDate%3D%25STATUSDATE%25%26mnc%3D%25MNC%25%26mcc%3D%25MNC%25

我觉得我在通过PHP获取ecoded URL中的查询字符串值时犯了一些基本错误

任何人都可以从下面的URL中找到用PHP获取查询字符串值的最佳方法

http%3A%2F%2Fwwww.mycompany.org%2FmyStatusListener%3FmtmId%3D%25MTMID%25%26statusCode%3D%25  -
STATUSCODE%25%26statusDate%3D%25STATUSDATE%25%26mnc%3D%25MNC%25%26mcc%3D%25MNC%25%26  -
blocked%3D%25BLOCKED%25%0A

非常感谢

只需像这样使用rawurldecode、parse_url和parse_str即可:

$a="http%3A%2F%2Fwwww.mycompany.org%2FmyStatusListener%3FmtmId%3D%25MTMID%25%26statusCode%3D%25STATUSCODE%25%26statusDate%3D%25STATUSDATE%25%26mn25MNC%25%26mcc%3D%25MNC%25%26blocked%3D%25BLOCKED%25%0A";
$b=rawurldecode($a);
$c=parse_url($b,PHP_URL_QUERY);
parse_str($c,$d);
print_r($d);
在这里使用see示例

更新:

例如:

$s = 'http%3A%2F%2Fwwww.mycompany.org%2FmyStatusListener%3FmtmId%3D%25MTMID%25%26statusCode%3D%25STATUSCODE%25%26statusDate%3D%25STATUSDATE%25%26mnc%3D%25MNC%25%26mcc%3D%25MNC%25%26blocked%3D%25BLOCKED%25%0A';

$url = urldecode($s);

$query = parse_url($url, PHP_URL_QUERY);
$elements = explode('&', $query);
$result = array();

foreach ($elements as $element) {
   list($k, $v) = explode('=', $element);
   $result[$k] = $v;
}
print_r($result);

这个更好