2013-12-15 6 views
0
$h = 30; 
$flipSum = $h - 1; 

if (5 < print $flipSum) { 
echo "Yes"; 
} 
else { 
echo "No"; 
} 

Выход этого файла - 29No. Где ошибка? Я хочу, чтобы результат был «Да».Ошибка при предоставлении условия, если Ведомость

Также, Я получаю ошибки при удалении $ h и $ flipSum и заменяю его, используя одну переменную, как показано ниже. Как мне вести брекетинг?

$h = 30; 

if (1 < print $h - 1) { 
echo "s"; 
} 
else { 
echo "Sa"; 
} 

Это дает тот же результат «29No».

Спасибо, Саи

+4

ПОДСКАЗКА: какая ** печать ** делать ?? –

ответ

3

Открытие заявления на ваш условное должно быть:

if (5 < $flipSum) { 

Что вы хочу должен оценить 5 < $flipSum, где $flipSum предположительно некоторое число. Что вы фактически делает оценку 5 < print $flipSum - где возвращаемое значение print $flipSum - always1. Таким образом, вы видите No в качестве возвращаемого значения.

Подробнее: причина возвращаемое значение 29No потому, что - в 5 < print $flipSum - две вещи происходят (в порядке убывания):

  1. Значение $flipSum в печатаемого - значит 29
  2. Все условное значение оценивается (до false) и вводится соответствующий блок - следовательно No
1

заявление для печати в PHP возвращает 1 всегда .. То почему вы получаете не как выход

Подробнее о печати: http://www.php.net/print

1

Не используйте print конструкцию в вашей if логике, как это всегда возвращает 1:

$h = 30; 
$flipSum = $h - 1; 

if (5 < $flipSum) { 
    echo "{$flipSum}Yes"; 
} else { 
    echo "{$flipSum}No"; 
} 
+0

Можете ли вы сказать мне, если '{}' только ставит значение переменной или мы можем выполнить арифметику? Как 'echo '{$ h-1} Да"; ' – Asim

+1

Нет, вы не можете выполнять арифметику там, я просто всегда помещаю переменные в' {} 'для лучшей читаемости. – vikingmaster

+0

Спасибо! Помог мне. –

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