我有一個函數在插入數據庫之前檢查用戶輸入。它是這樣的:空格字符在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