如果我填写以下表格:
<input type=number name=extra-count[0]> <!--value submitted: 4 -->
<input type=text name=extra-product[0]> <!--value submitted: product A -->
<input type=number name=extra-count[1]> <!--value submitted: 5 -->
<input type=text name=extra-product[1]> <!--value submitted: product B -->
比我有这个代码:
foreach(array_merge($_POST['extra-count'],$_POST['extra-product']) as $text) {
if(false === empty($text)){
$message .= "\r\n".$text;
}
}
输出:
4 poduct A
5 product B
但它会输出这个:
4
5
product A
product B
我该怎么做才能获得第一个输出?
答案 0 :(得分:1)
如果每个阵列上的长度始终相同。你可以尝试这样的事情。
foreach($_POST['extra-count'] as $key => $text) {
if(false === empty($text)){
$message .= "\r\n".$text . " " . $_POST['extra-product'][$key];
}
答案 1 :(得分:0)
foreach($_POST['extra-count'] as $key => $value) {
if(false === empty($text)){
$message .= "\r\n$_POST['extra-count'][$key] $_POST['extra_product'][$key]";
}
}
请注意,您可以将$_POST['extra-count'][$key]
替换为$value
,但我认为通过这种方式更容易理解。
此外,我不认为你理解array_merge是如何工作的。你应该看看here
答案 2 :(得分:0)
您可能正在寻找array_combine
foreach(array_combine($_POST['extra-count'],$_POST['extra-product']) as $key => $text) {
if(false === empty($text)){
$message .= "\r\n".$key.' '.$text;
}
}