我有一个查询,它有一些重复的参数,我如何选择重复的参数并将它们放在一个数组中?
例如:fruit=apple&fruit=banana&fruit=oranges&shopper=tom
答案 0 :(得分:1)
尝试
$str = "fruit=apple&fruit=banana&fruit=oranges&shopper=tom";
$str = str_replace('fruit', 'fruit[]', $str);
parse_str($str, $output);
print_r($output['fruit']);
答案 1 :(得分:0)
附加两个替代代码示例:(i)通过表单(ii)通过迭代和操作来完成它
<form action="test1234.php" method="GET">
<input type="checkbox" name="fruit[]" value="apple" />apple<br />
<input type="checkbox" name="fruit[]" value="banana" />banana<br />
<input type="checkbox" name="fruit[]" value="orange" />orange<br />
<br />
<input type="checkbox" name="buyer[]" value="tom" />tom<br />
<input type="checkbox" name="buyer[]" value="dick" />dick<br />
<input type="checkbox" name="buyer[]" value="harry" />harry<br />
<br />
<input type="submit" />
</form>
<br />
<?php
var_dump($_GET); // (i) doing it via form
echo '<br /><br /><hr />';
$str = 'fruit=apple&fruit=banana&fruit=oranges&shopper=tom';
$key_value_pair_arr = explode('&', $str);
$result = array();
for($i=0; $i<count($key_value_pair_arr); $i++){
$key_value = explode('=', $key_value_pair_arr[$i]);
$key = $key_value[0];
$value = $key_value[1];
$result[$key][] = $value;
}
var_dump($result); // (ii) doing it via iteration and manipulation
?>