如何解析具有存储在变量中的URL的URL GET数据?

I have an url stored in a variable such as:

$url = 'example.com?a=20&i=10'

How do I get values stored in variable a and variable i? Is there a short way to do this?

You could use parse_url and parse_str:

<?php
  $url = 'example.com?a=20&i=10';
  $tmp=parse_url($url);
  parse_str($tmp['query'],$out);
  print_r($out);
?>

Demo

You can use parse_url().

data = parse_url($url)
print_r($data['query'])

For more details, refer php manual.

Try this:

<?php
  $url = 'example.com?a=20&i=10';
  $result = parse_url($url);
  parse_str($result['query'],$getVar);
  echo 'value of a='. $getVar['a'];
  echo 'value of i='. $getVar['i'];

If you want to access those variables, check out the extract() function, it will create variables $a and $i from the parse_str() function above.

However, it will overwrite any existing variable called $a so its to be used with caution.

<?php
  $url = 'example.com?a=20&i=10';
  $tmp=parse_url($url);
  parse_str($tmp['query'],$out);
  extract($out);
?>