我有一个函数在插入数据库之前检查用户输入。它是这样的:空格字符在PHP中的字符串?
function fix ($data) {
if ((strlen($data) == 0) || (empty($data)) || ($data == "")) {
echo "Please try again";
die();
} else {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
}
return $data;
}
为什么如果用户输入空格字符这个函数返回true?
由于空格字符__is字符__....'strlen的(”“)'较大比0(它的长度为1); 'empty(“”)'是假的,它不是空的,它包含一个空格;和'“”!==“”',它们不一样 –
通常的惯用方式是:if(0 === strlen(trim($ data))){die('Please try again'); } else {...}' – bishop