想使用isset(空($ sc))

时间:2012-01-11 12:42:30

标签: php

我想使用此isset(empty($sc))的组合,但收到此错误

  

解析错误:语法错误,第9行/var/www/html/find.php中的意外T_EMPTY

当某人从表单发帖时,只有在表单已提交时才应检查$sc是否为空。

4 个答案:

答案 0 :(得分:2)

目前还不清楚你想要实现的目标。 isset(empty(…))没有任何意义。也许你的意思是:

if(isset($_POST['submit'])) {
  if(empty($_POSt['sc'])) echo 'sc is empty';
  else echo 'sc is non-empty';
} else {
  echo '$_POST[\'submit\'] is not set';
}

答案 1 :(得分:1)

你的代码没有意义。

您的$sc变量似乎是全局变量,对吗?

然后更好的代码是:

if (isset($sc) && !empty($sc)) {
   // your code here
}

答案 2 :(得分:0)

empty()函数返回一个布尔值,具体取决于变量是否为空。你不能在标量值(true或false,或字符串,数字,char或任何其他原始类型)上运行isset(),你需要针对变量运行它。

这有效:

$var = 'hello';
isset($var);

返回 true

WONT 工作:

isset('hello');

这相当于你正在做的事情。

答案 3 :(得分:0)

您不能在函数上使用isset。

Isset用于检测传递给函数的变量是否确实存在,但是现有的带NULL变量仍将被视为未设置。

将函数返回到isset是不正确的,因为它显然总是未设置,这是一个暂时的状态。

您想要做的是:

if(!isset($sc) || empty($sc)){ $errors[] = 'Missing SC'; }

快乐编码