3 回答

TA貢獻1909條經(jīng)驗 獲得超7個贊
否。僅最后一個輸入元素可用。
如果要使用相同名稱的多個輸入,請使用name="foo[]"輸入名稱屬性。$_POST然后將包含foo的數(shù)組,其中包含來自輸入元素的所有值。
<form method="post">
<input name="a[]" value="foo"/>
<input name="a[]" value="bar"/>
<input name="a[]" value="baz"/>
<input type="submit" />
</form>
請參閱Sitepoint上的HTML參考。
$_POST如果不使用[]則僅包含最后一個值的原因是因為PHP基本上只會爆炸并遍歷要填充的原始查詢字符串$_POST。當遇到已經(jīng)存在的名稱/值對時,它將覆蓋前一個。
但是,您仍然可以像這樣訪問原始查詢字符串:
$rawQueryString = file_get_contents('php://input'))
假設您具有這樣的形式:
<form method="post">
<input type="hidden" name="a" value="foo"/>
<input type="hidden" name="a" value="bar"/>
<input type="hidden" name="a" value="baz"/>
<input type="submit" />
</form>
rawQueryString然后$ 將包含a=foo&a=bar&a=baz。
然后,您可以使用自己的邏輯將其解析為一個數(shù)組。天真的方法是
$post = array();
foreach (explode('&', file_get_contents('php://input')) as $keyValuePair) {
list($key, $value) = explode('=', $keyValuePair);
$post[$key][] = $value;
}
這將為您提供查詢字符串中每個名稱的數(shù)組數(shù)組。

TA貢獻1865條經(jīng)驗 獲得超7個贊
除了在PHP中name="nfo[val]"使用外name="nfo[val][]",還可以使用foreach()
HTML代碼:
<form method="post">
<input name="nfo[val][]" value="val1"/>
<input name="nfo[val][]" value="val2"/>
<input name="nfo[val][]" value="val3"/>
<input type="submit" />
</form>
PHP代碼:
$output='';
foreach ($nfo['val'] as $key=>$val) {
$output.= $val.", ";
}
$output 將會: val1, val2, val3
希望這可以幫助!

TA貢獻1866條經(jīng)驗 獲得超5個贊
您必須創(chuàng)建它們的數(shù)組:name=inputname[] 與post,request或get一起使用
$inputs = $_POST['inputname'];
print_r($inputs);
- 3 回答
- 0 關注
- 291 瀏覽
添加回答
舉報