我正在使用此代码来验证传递的输入是否为空,但是当我在输入中使用“空格”时,这会失败。它确实通过了empty()检查。
if (empty($_POST['r_user'])) {
$data['error'] = 'Please pick a username to continue.';
$data['errorID'] = 'r_user';
}
在PHP中检查空字符串的正确方法是什么?
答案 0 :(得分:4)
在检查变量之前,您需要使用trim function
。
$trimUser= trim ($_POST['r_user']);
现在执行空方法。
答案 1 :(得分:2)
根据PHP documentation建议,您的代码将变为:
if (trim($_POST['r_user']) == false) {
$data['error'] = 'Please pick a username to continue.';
$data['errorID'] = 'r_user';
}
答案 2 :(得分:1)
你可以trim()
从字符串的开头和结尾删除空格
工作示例
$test = " ";
if(trim($test)){
if (empty($test))
echo "true";
else
echo "false";
}
直播:在codepad
上查看答案 3 :(得分:0)
你可以在这里很好地使用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!";
?>
输出:
耶
答案 4 :(得分:0)
if ( empty( trim( $_POST['r_user'] ))) {
//错了!给出错误 - 学到新的东西:) //正确的方法应该是:
$myvar = trim( $_POST['r_user'] );
if ( empty( $myvar )) {
或
if ( trim( $_POST['r_user'] ) != '' ) {
答案 5 :(得分:0)
您可以使用:
$var = '';
if (array_key_exists('r_user', $_POST)) {
$var = trim($_POST['r_user']);
}
if (empty($var)) {
// do some stuffs
}
代替。
答案 6 :(得分:-1)
if(isset($_POST['r_user'])){
// ur code
}