0

嗨,基本上我将表单字段名称存储在一个数组中。这工作正常,因为我能够打印出数组并查看它的内容。我遇到的问题是检查这些内容并基于它们将新值存储在新数组中。

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。

4

3 回答 3

1

我想你错过了!这样的标志:

// Check for missing field
if ( ! in_array("frm_companyName", $fieldArray)) {

    $errorArray[] = "Company Name";

}
于 2013-08-19T02:27:54.793 回答
0

谢谢各位的建议,

我设法将问题追溯到一些早期的干扰代码。由于有1000多行,我无法全部发布。

不过再次感谢。

于 2013-08-19T14:07:58.227 回答
-1
if (in_array("frm_companyName", $fieldArray)) {
    $errorArray[] = "Company Name";
}

是问题的原因。您不应该将 String 直接放入数组中。相反,您可能想要指定数组的索引,例如

$errorArray[0] = "Company Name";

或者只是将字符串推入数组。

array_push($errorArray, "Company Name");
于 2013-08-19T02:25:11.727 回答