0

我如何在提交表单后将 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" />

所以如果用户选择芝加哥和西雅图,它会返回:

伊利诺伊州芝加哥 - 500,西雅图 - 200

我用过这个

$location = implode(', ',$_POST['location']);

这将显示:芝加哥,伊利诺伊州,西雅图

但是如果数组是相同的数字,我也需要它来获取“数量”。所以它会拉进来:

伊利诺伊州芝加哥 - 500,西雅图 - 200

“数量”的值将由用户输入

4

2 回答 2

0

尝试使用 implode() 函数,但首先从它们中生成和数组。

于 2013-06-25T14:02:57.353 回答
0

要记住的是,复选框在未被选中但空文本框被选中时不会被发送到服务器,因此简单的组合foreachandisset会给你想要的结果:

// 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数组中以获得逗号分隔的列表,但这只是一个基本示例。

于 2013-06-25T14:10:58.527 回答