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

时间:2013-08-19 02:22:30

标签: php arrays

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

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。

3 个答案:

答案 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");