2016-05-10 5 views
0

Привет, это таблица, преобразующая celsius в kelvin и fahrenheit, мне просто интересно, почему мой код не зацикливается :(он отображает только первые две строки и останавливается. Спасибо!do while looping temperature php not looping

.
<?php 
$celsius = 100; 
$stop_kelvin = 0; 

print '<table>'; 
print '<tr><th>Degrees Celsius(C)</th><th>Kelvin(K)</th><th>Degrees Fahrenheit(F)</th></tr>'; 
while ($kelvin <= $stop_kelvin) { 
$fahr = ($celsius*1.8) + 32; 
$kelvin = $celsius + 273; 
print"<tr><td>$celsius</td><td>$kelvin</td><td>$fahr</td></tr>"; 
$fahr += 1; 
} 
print '</table>'; 

?> 
+0

Каково значение $ kelvin, когда выполняется оператор while? –

+0

Значение $ kelvin первоначально является значением, рассчитанным на основе того, когда $ celsius равно 100 @SamM – meowwwwww

+0

. Инициализация отсутствует в коде, который вы опубликовали. См. Ответы ниже. Вы получаете случайные значения в $ kelvin без инициализации. –

ответ

1

В коде переменная $ кельвин не инициализируется Также, пожалуйста, переосмыслить логику цикла

1

Прежде всего у вас нету инициализированную $ кельвина;. из которых $ кельвин принимает случайные значения. После первого цикла значение $ kelvin становится равным 373, а в вашем цикле $kelvin <= $stop_kelvin означает, что условие ложно a nd он выпрыгивает из цикла