2012-10-25 31 views
0

我有一個查詢有一些重複的參數,我如何選擇重複參數並將它們放入數組?如何將所有重複參數添加到單個數組中?

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

+1

檢查[做'parse_str'](http://www.php.net/manual/en/function.parse-str.php) – air4x

+0

我有,它實際上輸出相同的查詢字符串 – muudless

回答

1

嘗試

$str = "fruit=apple&fruit=banana&fruit=oranges&shopper=tom"; 
$str = str_replace('fruit', 'fruit[]', $str); 
parse_str($str, $output); 
print_r($output['fruit']); 
+0

謝謝,作品完美 - 將打勾當時間到了的時候的答案。 – muudless

0

兩個替換碼的例子所附:(ⅰ)通過形式做(ⅱ)通過迭代和操縱

<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 
?> 
相關問題