douyu0845 2013-05-21 17:42
浏览 37
已采纳

if / elseif / else问题[关闭]

I am creating a whitelist if you will for a user to input data. I am getting stuck on the elseif statements.

This is my code :

public function is_valid_data($data)
   {

     if(strlen($data > 9))
     {
       $this -> set_message('is_valid_data', 'Field needs to be less than 9 characters');
       return FALSE;
     }
     elseif(strlen($data < 9))
     {
       $this -> set_message('is_valid_data', 'Field can not be under 9 characters');
       return FALSE;
     }
     elseif((substr($str, 0, 1) !== 'testing') || (substr($str, 0, 1) !== 'test'))
     {
       $this -> set_message('is_valid_data', 'Please re-submit data!');
       return FALSE;
     }
     elseif(!preg_match("/^[0-9]/", $str))
     {
       $this -> set_message('is_valid_data', 'Please dont forget about the numbers!');
       return FALSE;
     }
     else
     {
       return TRUE;
     }

   }

For some reason even if $data is 9 characters the first if statements goes through, then the second one fails and I keep getting 'Field can not be under 9 characters' even though the $data is exactly 9 characters. I am returning false because in another script I have the function call is_valid_data($data) and if this function returns a false then it will return the error to the user. If it returns true then the data is valid and we can continue

I can't seem to shake this issue.

  • 写回答

4条回答 默认 最新

  • dongzao3923 2013-05-21 17:45
    关注
    if(strlen($data) > 9)
    

    instead of

    if(strlen($data > 9))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥120 计算机网络的新校区组网设计
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单