1

只是一个关于 php 中 STRLEN 的快速问题......下面是我的代码,我认为某处是错误的,但只是不知道在哪里..

如果每个文本框中的字符少于 2 个(不包括 2 个),我尝试做的(显然)是显示错误消息。

当我运行它时,它完全没有做任何事情,所以它一定有问题。

任何帮助绝对感激!

 $error_message = "";
        if(strlen($username) < 2) {
        $error_message .= 'The username you entered do not appear to be valid.<br />';
      }
        if(strlen($start) < 2) {
        $error_message .= 'The start time you entered do not appear to be valid.<br />';
      }
        if(strlen($end) < 2) {
        $error_message .= 'The end time you entered do not appear to be valid.<br />';
      }
        if(strlen($location) < 2) {
        $error_message .= 'The location you entered do not appear to be valid.<br />';
      }
        if(strlen($department) < 2) {
        $error_message .= 'The department you entered do not appear to be valid.<br />';
      }
      if(strlen($error_message) > 0) {
        died($error_message);
      }
4

3 回答 3

5

2或更少意味着你需要做:

if(strlen($variable) <= 2)

你正在做的小于 2 不包括 2(1 或更少)

于 2013-05-01T09:58:01.070 回答
0

您是否检查过您在 strlen($username),strlen($department),... 中获得的值是什么?您遇到的错误是什么?

新编辑

尝试添加其他,这将确保您已阅读代码。

 if(strlen($username) < 2) {echo "The username you entered do not appear to be valid.<br />";}
else {echo "username is present";}
于 2013-05-01T10:00:03.157 回答
0

最好的方法是使用类似的东西

if(isset($username{3}) ... ) {
    ....
  }
...

使用 $var_name{IndexOf} 的原因很简单,因为它比 strlen 更快,并且间接地它也在检查天气,它大于 2

于 2013-05-01T10:15:40.640 回答