我有一個查詢有一些重複的參數,我如何選擇重複參數並將它們放入數組?如何將所有重複參數添加到單個數組中?
例如:fruit=apple&fruit=banana&fruit=oranges&shopper=tom
我有一個查詢有一些重複的參數,我如何選擇重複參數並將它們放入數組?如何將所有重複參數添加到單個數組中?
例如:fruit=apple&fruit=banana&fruit=oranges&shopper=tom
嘗試
$str = "fruit=apple&fruit=banana&fruit=oranges&shopper=tom";
$str = str_replace('fruit', 'fruit[]', $str);
parse_str($str, $output);
print_r($output['fruit']);
謝謝,作品完美 - 將打勾當時間到了的時候的答案。 – muudless
兩個替換碼的例子所附:(ⅰ)通過形式做(ⅱ)通過迭代和操縱
<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
?>
檢查[做'parse_str'](http://www.php.net/manual/en/function.parse-str.php) – air4x
我有,它實際上輸出相同的查詢字符串 – muudless