我使用這個代碼來驗證,如果通過輸入不爲空,但是當我在輸入上使用「白空間」失敗。它確實通過了空()檢查。
if (empty($_POST['r_user'])) {
$data['error'] = 'Please pick a username to continue.';
$data['errorID'] = 'r_user';
}
在PHP中檢查空字符串的正確方法是什麼?
我使用這個代碼來驗證,如果通過輸入不爲空,但是當我在輸入上使用「白空間」失敗。它確實通過了空()檢查。
if (empty($_POST['r_user'])) {
$data['error'] = 'Please pick a username to continue.';
$data['errorID'] = 'r_user';
}
在PHP中檢查空字符串的正確方法是什麼?
在檢查變量之前,您需要使用trim function
。
$trimUser= trim ($_POST['r_user']);
現在執行空方法。
您可以使用trim這裏很好,它消除空白正面和背面:
if (empty(trim($_POST['r_user']))) { // Incorrect!
編輯,哇,學到了新的東西今天。
然而,這將工作:
$var=trim($_POST['r_user']);
if (empty($var)) {
工作實例:
<?php
$var=' ';
$var=trim($var);
if(empty($var))
echo "Yay";
else
echo "Nay!";
?>
輸出:
耶
按PHP documentation建議,您的代碼將變成:
if (trim($_POST['r_user']) == false) {
$data['error'] = 'Please pick a username to continue.';
$data['errorID'] = 'r_user';
}
if (empty(trim($_POST['r_user']))) {
//錯!給出了一個錯誤 - 學到新的東西:) //正確的做法應該是:
$myvar = trim($_POST['r_user']);
if (empty($myvar)) {
或
if (trim($_POST['r_user']) != '') {
您可以使用:
$var = '';
if (array_key_exists('r_user', $_POST)) {
$var = trim($_POST['r_user']);
}
if (empty($var)) {
// do some stuffs
}
代替。
你不能傳遞一個函數到'empty()' –
if(isset($_POST['r_user'])){
// ur code
}
PHP文檔警告'empty(trim())'會產生錯誤。 – Alex
http://codepad.org/7QuJPRrF - 產生一個錯誤。必須先修剪它,然後檢查它是否爲空。 – Travesty3
它在這裏產生一個錯誤。 –