嗨,基本上我将表单字段名称存储在数组中。这工作正常,因为我能够打印出数组并查看它的内容。我遇到的问题是检查这些内容并基于它们在新数组中存储新值。
PHP
$required = array('frm_companyName', 'frm_hrManager', 'frm_lnManager');
$fieldArray = array();
$errorArray = array();
...
foreach ($required as $field) {
if (empty($_POST[$field])) {
$fieldArray[] = $field;
}
}
...
if (in_array("frm_companyName", $fieldArray)) {
$errorArray[] = "Company Name";
}
当我打印出$ errorArray []时,我返回一个空数组(但是$ fieldArray []确实显示了内容。任何想法?我知道它一定很简单./谢谢
更新:
我更改了行
if ( in_array("frm_companyName", $fieldArray)) {
$errorArray[] = "Company Name";
}
到
if ( in_array("frm_companyName", $fieldArray)) {
echo " ---- Working ---- ";
}
只是回显一条消息,但它没有回显,所以检查肯定有问题,即in_array。
答案 0 :(得分:1)
我想你错过了!
这样的标志:
// Check for missing field
if ( ! in_array("frm_companyName", $fieldArray)) {
$errorArray[] = "Company Name";
}
答案 1 :(得分:0)
感谢你们的建议,
我设法将问题追溯到一些干扰的早期代码。我无法发布,因为有超过1000行。
再次感谢。
答案 2 :(得分:-1)
if (in_array("frm_companyName", $fieldArray)) {
$errorArray[] = "Company Name";
}
是问题的原因。您不应该直接将String放入数组中。 相反,您可能希望指定数组的索引,例如
$errorArray[0] = "Company Name";
或者只是将字符串推入数组。
array_push($errorArray, "Company Name");