我正在尝试从需要的表单中排除字段。目前整个数组支付通过这个为每个语句运行。我试图使字段 extra、extra2 和 extra3 不被要求。如果为空,则可以将其设置为 null 或定义为任何字符串。这是我目前拥有的:
foreach($p as $key => $value) {
$value = trim($value);
if($value == '') {
$keyName = preg_replace('/([A-Z])/', " $1", $key);
$this->_errors['Payment ' . $keyName] = __('Payment ','cart66') . $keyName . __(' required','cart66');
$this->_jqErrors[] = "payment-$key";
}
这是我尝试过的,但无济于事:
foreach($p as $key => $value) {
$value = trim($value);
if($value == '' && $p != 'extra' || 'extra2' || 'extra3') {
$keyName = preg_replace('/([A-Z])/', " $1", $key);
$this->_errors['Payment ' . $keyName] = __('Payment ','cart66') . $keyName . __(' required','cart66');
$this->_jqErrors[] = "payment-$key";
}
else if ($p['extra'] == '') {
$_p['extra'] = NULL;
}
else if ($p['extra2'] == '') {
$_p['extra2'] = NULL;
}
else if ($p['extra3'] == '') {
$_p['extra3'] = NULL;
}
}
这是我的语法不是吗?数据库本身设置为接受 null 并且不是主要的或唯一的。