2011-10-11 162 views
0

我如何可以采取一个字符串,如:PHP字符串替换?

navMenu[]=1&navMenu[]=6&navMenu[]=2&navMenu[]=3&navMenu[]=4&navMenu[]=5 

自PHP让这个我可以删除的navMenu []一定的价值,但它仍然会停留在相同的顺序,但是去的价值。或者添加一个值。

我一直在篡改它在&符号处爆炸,但我不确定如何添加或删除值,并确保&符号不在字符串的开头或末尾。

+0

你的意思是删除一个值,或添加值,然后重新格式化字符串像上面? (例:删除'6'条目改为'navMenu [] = 1&navMenu [] = 2&navMenu [] = 3&navMenu [] = 4&navMenu [] = 5'?) – Nightfirecat

+0

你确定你需要做的是什么?难道你不能从'$ _GET ['navMenu']'获得navMenu变量吗? – Ariel

+0

请修改语法和标点符号。 – 2011-10-11 04:20:55

回答

1
$str = 'navMenu[]=1&navMenu[]=6&navMenu[]=2&navMenu[]=3&navMenu[]=4&navMenu[]=5'; 
parse_str($str, $values); 
$values['navMenu'] = array_diff($values['navMenu'], array('3')); 
echo http_build_query($values); 

如果你从请求得到这个,你甚至不需要parse_str,你可以得到从$_GET$_POST已经解析字符串,删除值,然后用http_build_query将其重组为请求参数。

+0

好的,谢谢我会试试这个, – novactown