当我回显$ _GET变量的内容时,有两个值甚至不在链接中。
array (
'__utma' => '118264987.369913698.1357785187.1358515273.1358367728.77',
'__utmz' => '118254987.1328042362.21.9.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not provided)',
)
如何可靠地去除所有这些无用数据的$ _GET变量?
答案 0 :(得分: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
。