2013-01-19 16 views
2

當我回顯$ _GET變量的內容時,有兩個值甚至不在鏈接中。

array (
'__utma' => '118264987.369913698.1357785187.1358515273.1358367728.77', 
'__utmz' => '118254987.1328042362.21.9.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not provided)', 
) 

如何可靠地去除所有這些無用數據的$ _GET變量?

+1

該參數來自Google分析,您可能已將該參數包含在該鏈接中。如果你不需要它,你可以刪除它。 – saji89

回答

3

您可以刪除「違規」的數組鍵是這樣的:

// only use the keys that we want 
$keys = preg_grep('/^__utm.$/', array_keys($_GET), PREG_GREP_INVERT); 
// get the values that belong to those keys 
$values = array_intersect_key($_GET, array_flip($keys)); 

它刪除(或者更確切地說,跳過)與__utm開始,後面跟着一個字符的按鍵。

順便說一句,你可以換着花樣來增加限制,如:

^__utm[az]$ 

這將刪除__utma__utmz但例如不__utmx

相關問題