我使用这个代码来验证,如果通过输入不为空,但是当我在输入上使用“白空间”失败。它确实通过了空()检查。
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
它在这里产生一个错误。 –