0

我有一个包含一些重复参数的查询,如何选择重复参数并将它们放入数组中?

例如:fruit=apple&fruit=banana&fruit=oranges&shopper=tom

4

2 回答 2

1

尝试

$str = "fruit=apple&fruit=banana&fruit=oranges&shopper=tom";
$str = str_replace('fruit', 'fruit[]', $str);
parse_str($str, $output);
print_r($output['fruit']);
于 2012-10-25T04:59:31.223 回答
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
?>
于 2012-10-25T05:29:50.820 回答