The REQUEST_URI you are wanting is being populated via the $_SERVER superglobal. You can get it directly by calling $_SERVER['REQUEST_URI'] instead of trying to find it in a multidimensional array. As far as parsing it? Who knows, I have no idea what you are wanting out of it. I am going to guess that you want the uri query string parsed into an array. If so, this will give you that, NOTING however, that if the value is empty, the key will not be in the array. From your string given, this would be caller_zipcode, etc. Array held in $parsed_uri
$pattern = '/(?<key>[a-zA-Z]+?)(?=\=[^&])\=(?<value>.[^&]+)/';
$string = $_SERVER['REQUEST_URI'];
preg_match_all($pattern,$string,$matches);
$count = count($matches[0]);
for($i = 0; $i < $count; $i++) {
$parsed_uri[$matches['key'][$i]] = $matches['value'][$i];
}
unset($matches);
echo '<pre>' . print_r($parsed_uri,true) . '</pre>';