PHP post复选框帮助
我在接收表单中复选框字段中选中的项目列表时遇到问题 我有一个带有几个复选框的HTML表: HTMLPHP post复选框帮助,php,html,arrays,post,Php,Html,Arrays,Post,我在接收表单中复选框字段中选中的项目列表时遇到问题 我有一个带有几个复选框的HTML表: HTML <input type="checkbox" name="carry[]" value="1" /> <input type="checkbox" name="carry[]" value="2" /> <input type="checkbox" name="carry[]" value="3" /> 我在电子邮件中得到的值是:“carry:Array
<input type="checkbox" name="carry[]" value="1" />
<input type="checkbox" name="carry[]" value="2" />
<input type="checkbox" name="carry[]" value="3" />
我在电子邮件中得到的值是:“carry:Array”--不是实际选择的值。我如何处理表单中选择的复选框数组并将其发布
理想情况下,我会想:“携带:1;2.3“(不带引号)它正在打印carry:Array,因为它就是这样。您需要在它上面循环(第一个循环中的另一个循环)才能访问其中的值:
foreach($_POST as $key => $val) {
if($key == 'carry') {
foreach($val as $carry) {
$body .= $carry;
}
}
else {
$body .= $key . " : " . $val . "\r\n";
}
}
这是完全未经测试的,但希望逻辑是合理的:)它正在打印carry:Array,因为它就是这样。您需要在它上面循环(第一个循环中的另一个循环)才能访问其中的值:
foreach($_POST as $key => $val) {
if($key == 'carry') {
foreach($val as $carry) {
$body .= $carry;
}
}
else {
$body .= $key . " : " . $val . "\r\n";
}
}
这是完全未经测试的,但希望逻辑是合理的:)如果您想要字符串
'1;2;3'
,您应该将数组中的项连接在一起:
$carry= implode('; ', $_POST['carry']);
但是,如果数组中的任何项本身都有分号,那么这样做自然会导致不明确的结果
要在post数组上迭代以允许其任何成员成为数组,请执行以下操作:
foreach($_POST as $key=>$val) {
if (is_array($val))
$val= implode('; ', $val);
$body.= "$key: $val\r\n";
}
或者,如果您不需要对精确的格式进行太多控制,调试转储也可以(但您需要看到的不仅仅是无用的字符串'Array'
:
$body= var_export($_POST, TRUE);
如果需要字符串
'1;2;3'
,则应将数组中的项连接在一起:
$carry= implode('; ', $_POST['carry']);
但是,如果数组中的任何项本身都有分号,那么这样做自然会导致不明确的结果
要在post数组上迭代以允许其任何成员成为数组,请执行以下操作:
foreach($_POST as $key=>$val) {
if (is_array($val))
$val= implode('; ', $val);
$body.= "$key: $val\r\n";
}
或者,如果您不需要对精确的格式进行太多控制,调试转储也可以(但您需要看到的不仅仅是无用的字符串'Array'
:
$body= var_export($_POST, TRUE);
您可以检查该值是否为数组,并以不同方式进行处理:
foreach($_POST as $key => $val) {
if (is_array($val)) {
$body .= $key . " : " . implode(",",$val) . "\r\n";
} else {
$body .= $key . " : " . $val . "\r\n";
}
}
您可以检查该值是否为数组,并以不同方式进行处理:
foreach($_POST as $key => $val) {
if (is_array($val)) {
$body .= $key . " : " . implode(",",$val) . "\r\n";
} else {
$body .= $key . " : " . $val . "\r\n";
}
}
或者如果他正在寻找“carry”:
foreach($\u POST['carry']as$key=>$val);
或者如果他正在寻找“carry”:foreach($\u POST['carry']as$key=>$val);
谢谢,这就像一个符咒。我不熟悉is\u数组()或内爆()。谢谢,这就像一个符咒。我不熟悉is\u数组()或内爆()。