2013-03-06 40 views
0

,如果我有網址:如何從網址,以獲取數是這樣的:指數5

site.com/index.php?t=12 

我不能讓12 $ _GET [ 'T'] 但如果URL是這樣的:

site.com/index.php?12 

如何得到,如果 ,如果是這樣的

site.com/index.php?t12 

如何獲得數量 感謝

+1

'var_dump($ _ SERVER);' – zerkms 2013-03-06 22:26:05

+0

這是一種糟糕的方式來構建您的URL,太模棱兩可了,並且可能會影響您想要向查詢字符串添加更多數據。 – 2013-03-06 22:29:12

+0

你爲什麼這樣做?爲什麼不使用第一個例子? – 2013-03-06 22:32:06

回答

2

這應做到:

$str = array_keys($_GET)[0]; // PHP 5.4 and up 
list($str) = array_keys($_GET); // all versions 

從那裏你可以解析出號碼就像任何其他字符串:preg_replace("/\D/","",$str);

+0

替代<5.4語法:'current(array_keys($ _ GET))' – 2013-03-06 22:27:34

+0

@WesleyMurch編輯我自己的替代<5.4 – 2013-03-06 22:27:51

+0

非常感謝,這幫了我。 :) – 2013-03-06 22:50:55

1

老式的方式後訪問一個普通的非參數值該?是:

如果
print $_SERVER["QUERY_STRING"]; 

適合有確實只是你t12

0

網址:http://yoursite.com/index.php?t12

print_r($_SERVER); 
>> 
$_SERVER: Array 
    [QUERY_STRING] => t12 
    [REQUEST_METHOD] => GET 
    [SCRIPT_NAME] => /index.php 
    [REQUEST_URI] => /index.php?t12 
    [DOCUMENT_URI] => /index.php 

您可以結合$_SERVER['QUERY_STRING']和Kolink的答案。另外,根據字符串的非數字部分的可能性,還可以使用帶有字符掩碼的trim()explode('t',$_SERVER['QUERY_STRING'])。我個人的偏好是使用爆炸和修剪。