2016-11-10 2 views
0

Я пытаюсь проверить, является ли ложным или истинным значение переменной, вот мой кодЕсли не переменная условия не работает

$print_ready_flag = $_GET['print_ready']; // i'm passing it as either true or false 

echo $print_ready_flag ; // I'm getting correct value 

Что я пытаюсь сделать это,

if ($print_ready_flag == false) { 
    file_name = "albumpdf_" . $Order['products_name'] . "_" . $OrderId . "_" . $OrderPId . ".pdf"; 
} 

при выполнении как выше выражения оценки, но когда я попытался

если (! $ print_ready_flag) {,

if (! (Bool) $ print_ready_flag)

. выражение не оценивается. Есть ли способ оценить выражение без использования оператора сравнения.

+1

чем попробовать 'если ($ print_ready_flag === ложь) {' до этого, а также проверить 'var_dump ($ print_ready_flag)' – devpro

+0

Да я это видел тоже, когда я искал в Google. есть ли другой способ без использования операторов? – Anju

+1

Я передаю true или false для этой переменной. поэтому isset и empty не работает – Anju

ответ

1

Хорошо, что все ваши условия выглядят прекрасно. вам необходимо добавить php `error_reporting() в ваш код, это поможет вам найти синтаксис и предупреждения.

У вас есть опечатка здесь:

// missing $ sign 
file_name = "albumpdf_" . $Order['products_name'] . "_" . $OrderId . "_" . $OrderPId . ".pdf"; 

И его лучше использовать print_ready=0 вместо print_ready=false для $_GET. В противном случае, вы должны необходимо проверить с ===value+dataType для

+1

Спасибо. это сработало. – Anju

+0

@Anju: рад помочь вам – devpro

1
$print_ready_flag = $_GET['print_ready']; 

echo $print_ready_flag ; // I'm getting correct value 
$print_ready_flag = filter_var($print_ready_flag, FILTER_VALIDATE_BOOLEAN); 
if ($print_ready_flag == false) { 
    file_name = "albumpdf_" . $Order['products_name'] . "_" . $OrderId . "_" . $OrderPId . ".pdf"; 
} 
+0

работает. Спасибо за ваши усилия – Anju

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