Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP strlen()和if语句工作不正常_Php_Strlen - Fatal编程技术网

PHP strlen()和if语句工作不正常

PHP strlen()和if语句工作不正常,php,strlen,Php,Strlen,我有一个PHP表单,加载时会得到一些变量。并非所有变量都已设置。在代码中,我可以看到变量是否是通过使用strlen()定义的,这似乎有效,但当我应用if语句时,它似乎不起作用? GetSettingValue()是获取文件中的值的函数,文件中的项可能不存在 我尝试过的代码是: if (strlen(GetSettingValue("Latitude"))==0);{ logEntry("Lat== 0"); } 就在这条语句之前,我打印strle

我有一个PHP表单,加载时会得到一些变量。并非所有变量都已设置。在代码中,我可以看到变量是否是通过使用strlen()定义的,这似乎有效,但当我应用if语句时,它似乎不起作用? GetSettingValue()是获取文件中的值的函数,文件中的项可能不存在

我尝试过的代码是:

if (strlen(GetSettingValue("Latitude"))==0);{
logEntry("Lat== 0");
    }
就在这条语句之前,我打印strlen(GetSettingValue(“Latitude”)的结果,它显示0(这是预期的结果),并处理日志条目

但是如果我不想输入我使用的if语句:

if (strlen(GetSettingValue("Latitude"))!=0);{
logEntry("Lat== 0");
    }
if语句前面的strlen(GetSettingValue(“Latitude”)的结果显示为0 但是代码将处理日志条目。strlen()的结果似乎无关紧要


有什么想法或更好的方法吗?

只需删除
括号后的分号,它将完全正常工作

更正:


如果(strlen(GetSettingValue(“Latitude”)!=0){logEntry(“Lat==0”);}

您的条件后面有一个分号,它基本上相当于一个空块。我很确定那不是你想要的。