PHP字符串替换?

时间:2011-10-11 04:16:53

标签: php string

我怎样才能使用如下字符串:

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

并且在php中使得我可以删除navMenu []的某个值,但它仍将保持相同的顺序,但删除了值。或者也添加一个值。

我一直在篡改它在& amp;签名,但我不知道如何添加或删除一个值,并确保&符号不在字符串的开头或结尾。

1 个答案:

答案 0 :(得分: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将其重组为查询字符串。