2010-12-06 3 views
3

Si j'ai une URL qui ressemble à ceci, quelle est la meilleure façon de lire la valeurobtenir des variables de STRING url en php

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

J'ai essayé parse_url() mais il me donne value=2838 pas 2838

Edit: s'il vous plaît noter que je parle d'une chaîne, pas une URL réelle. J'ai l'URL stockée dans une chaîne.

+0

double possible ([Obtenir vars partir de l'URL] http://stackoverflow.com/questions/7413425/ get-vars-from-url) – ariefbayu

Répondre

6

Vous pouvez utiliser parse_url puis parse_str sur la requête.

<?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 
) 
3

Pour http://www.domain.com/compute?value=2838 vous utiliseriez $_GET['value'] pour retourner 2838

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

Soyez prudent si vous utilisez parse_str() sans un second paramètre. Cela peut remplacer les variables dans votre script!

0

Vous devez utiliser la méthode GET par exemple

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