如何在提交表单后将2个数组显示为组合在一起?
<input type="checkbox" name="location[1]" value="Chicago,IL" />
<input name="qty[1]" type="text" size="8" id="qty[1]" value="500" />
<input type="checkbox" name="location[2]" value="New York" />
<input name="qty[2]" type="text" size="8" id="qty[2]" value="100" />
<input type="checkbox" name="location[3]" value="Seattle" />
<input name="qty[3]" type="text" size="8" id="qty[3]" value="200" />
因此,如果用户选择芝加哥和西雅图,它将返回如下:
芝加哥,IL - 500,西雅图 - 200
我用过这个
$location = implode(', ',$_POST['location']);
将显示:芝加哥,伊利诺伊州,西雅图
但如果数组是相同的数字,我还需要它来获取“数量”。所以它会拉入:
芝加哥,IL - 500,西雅图 - 200
“qty”的值将由用户输入
答案 0 :(得分:0)
尝试使用implode()函数,但首先使用它们生成和数组。
答案 1 :(得分:0)
要记住的是,当未选中复选框时,复选框不会发送到服务器,但空文本框是,因此foreach
和isset
的简单组合将为您提供期望的结果:
// Loop over all text inputs
foreach ($_POST['qty'] as $key => $value)
{
// Check if the matching checkbox was checked
if (isset($_POST['location'][$key]))
{
echo htmlspecialchars($_POST['location'][$key]) . ' - ' . htmlspecialchars($value);
}
}
您可能希望将它们添加到数组中并implode
数组以获取以逗号分隔的列表,但这只是一个基本示例。