2012-01-11 2 views
0

Я хочу использовать комбинацию этого isset(empty($sc)), но я получаю эту ошибку

Parse error: syntax error, unexpected T_EMPTY in /var/www/html/find.php on line 9

Когда кто-то сообщения из формы, то $sc следует проверить пуст, только если форма была отправлена.

+4

на эту тему, вы проблема заключается в том, что 'isset' функция нуждается в переменной в качестве аргумента, а не результат функции. –

+0

пустой (isset ($ un))? – X10nD

+1

Пустой сам делает isset на этом var, а затем проверяет ifi на empry или нет, поэтому вы должны просто использовать пустой ($ csc) – Kristian

ответ

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'; 
} 
0

функция empty() возвращает логическое значение в зависимости от того, является ли переменная пуста или нет. вы не можете запустить isset() по скалярному значению (true или false или string, number, char или любому другому примитивному типу), вам нужно запустить его против переменной.

это работает:

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

возвращает истинные

это WONT работы:

isset('hello'); 

это равносильно тому, что вы делаете.

+1

** Примечание: ** Потому что [это] (http: // php. net/empty) - это языковая конструкция, а не функция, ее нельзя вызвать с помощью [переменных функций] (http://php.net/functions.variable-functions) – knittl

+0

+1 для уточнения. – jere

1

Ваш код не имеет смысла.

Кажется, что ваша переменная $sc является глобальной var, не так ли?

Тогда лучше код будет:

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

Вы не можете использовать IsSet на функцию.

Isset используется для определения того, действительно ли переменная, переданная в функцию, существует или нет с тонким завихрением, что существующая переменная с NULL будет считаться неустановленной.

Передача функции возврата в isset неверна, поскольку она, очевидно, всегда не задана, это переходное состояние.

То, что вы хотите сделать, это:

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

Дня кодирования

+0

** Примечание: ** Поскольку [this] (http://php.net/empty) - это языковая конструкция, а не функция, ее нельзя вызывать с помощью [переменных функций] (http://php.net/functions .variable-функции) – knittl

Смежные вопросы