3

If I have a url that looks like this, what's the best way to read the value

http://www.domain.com/compute?value=2838

I tried parse_url() but it gives me value=2838 not 2838

Edit: please note I'm talking about a string, not an actual url. I have the url stored in a string.

1

5 Answers 5

6

You can use parse_url and then parse_str on the query.

<?php
$url = "http://www.domain.com/compute?value=2838";
$query = parse_url($url, PHP_URL_QUERY);
$vars = array();
parse_str($query, $vars);
print_r($vars);
?>

Prints:

Array
(
    [value] => 2838
)
Sign up to request clarification or add additional context in comments.

Comments

3

For http://www.domain.com/compute?value=2838 you would use $_GET['value'] to return 2838

Comments

1
$uri = parse_url($uri);
parse_str($uri['query'], $params = array());

Be careful if you use parse_str() without a second parameter. This may overwrite variables in your script!

Comments

0

parse_str($url) will give you $value = 2838.

See http://php.net/manual/en/function.parse-str.php

Comments

0

You should use GET method e.g

echo "value = ".$_GET['value'];  

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.