如果在数组中没有找到消息,则返回2而不是空的PHP
我正在将消息附加到数组,并调用函数来附加数组,但在调用函数时,在数组中找不到消息,它也将它们显示为2值,即数组([0]=>[1]=>)
$errorMessages = array ();
$isError = false;
$middleName = $_POST [ 'middleName' ];
$middleName = trim( stripslashes( $middleName ) );
//validation for warrant id
$warrantId = $_POST [ 'warrantId' ];
if ( $warrantId == null || ( strlen( $warrantId ) ) <= 0 ) {
$errorMessages[] = "Warrant Id is required";
} else {
$message = 'enter keyboard characters only for warrant Id.';
$warrantId = trim( stripslashes( $warrantId ) );
$x = checkLength($warrantId, 'WarrantId', 1);
$errorMessages[] = $x;
//$errorMessages[] = checkRegEx( $warrantId, '/^([a-zA-Z0-9._'- #,^&`~<>:!@$(){}'"'';'*'[']?%| 'n 'r 't]*)$/', $message );
}
$errorMsg = count($errorMessages);
print_r($errorMsg);
功能
/*
* Checks the field length is not greater than allowed length
* @params unknown values $fieldValue, $fieldName, $maxLength
* @return tables rows $rowResponse
*/
function checkLength($fieldValue, $fieldName, $maxLength) {
$errorMsg = NULL;
if (strlen ( $fieldValue ) > $maxLength) {
$errorMsg = $fieldName . " cannot be greater than " . $maxLength . " characters.";
}
return $errorMsg;
}
/*
* Checks the given field value to match with regular expression or not
* @params unknown values $fieldValue, $mask, $message
* @return tables rows $rowResponse
*/
function checkRegEx($fieldValue, $regEx, $message) {
$errorMsg = NULL;
if (! (preg_match ( $regEx, $fieldValue ))) {
$errorMsg = $message;
}
return $errorMsg;
}
如果在数组中没有找到消息,那么它也会将其作为2 返回
checkLength
和checkRegEx
函数返回NULL
并将其添加到数组中。只有在函数调用不返回NULL
的情况下,才应分配函数调用的结果。
$x = checkLength($warrantId, 'WarrantId', 1);
if ($x !== NULL) {
$errorMessages[] = $x;
}
$x = checkRegEx( $warrantId, '/^([a-zA-Z0-9._'- #,^&`~<>:!@$(){}'"'';'*'[']?%| 'n 'r 't]*)$/', $message );
if ($x !== NULL) {
$errorMessages[] = $x;
}