IF语句与mb_strlen的组合不起作用

时间:2015-06-13 23:27:37

标签: php if-statement

我有一个带有以下if语句的表单,但它不起作用。 第一个验证“如果为空”确实有效但不是第二个用mb_strlen,为什么?

这是我的PHP代码:

elseif(empty($_POST['project_title']) OR 
(mb_strlen($_POST['project_title'], 'UTF-8') <= 3)){
echo "Please correct the Project Title";}

我也没有任何错误。我的代码中是否有一些语法错误?

1 个答案:

答案 0 :(得分:0)

据我所知,您的代码运行正常。我运行的这个小测试脚本:

<?php

echo test_title( '' );
echo test_title( 'pdf' );
echo test_title( 'This one works' );

function test_title( $title ) {

   echo "testing '$title'. ";

   if( empty( $title ) ||
       mb_strlen( $title, 'UTF-8') <= 3
     ){
        return "Please correct the Project Title\n";
     }

   return "looks fine\n";
}

将输出以下内容:

testing ''. Please correct the Project Title
testing 'pdf'. Please correct the Project Title
testing 'This one works'. looks fine