PHP数组&;将值存储在新数组中


PHP in_array & storing values in new array

嗨,基本上我是在数组中存储表单字段名。这很好,因为我可以打印出数组并查看它的内容。我遇到的问题是检查这些内容,并基于它们在新数组中存储新值。

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 ---- ";
}

只是回显一条消息,但它没有回显,所以检查(即inarray)肯定有问题。

我想您错过了!符号,如下所示:

// Check for missing field
if ( ! in_array("frm_companyName", $fieldArray)) {
    $errorArray[] = "Company Name";
}

谢谢大家的建议,

我设法将问题归结为一些早期的干扰代码。我无法全部发布,因为有1000多行。

再次感谢。

if (in_array("frm_companyName", $fieldArray)) {
    $errorArray[] = "Company Name";
}

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

$errorArray[0] = "Company Name";

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

array_push($errorArray, "Company Name");