2016-05-10 16 views
0

これはケルビンと華氏に摂氏を変換するテーブルです。なぜ私のコードがループしないのか不思議です:(最初の2行しか表示されず停止します)whileループ変換温度phpループなし

、$ケルビン変数が初期化されていない、あなたのコードで
<?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

while文が最初に実行されるときの$ kelvinの値は何ですか? –

+0

$ kelvinの値は、最初は$ celsiusが100の場合に基づいて計算された値です@SamM – meowwwwww

+0

投稿したコードに初期化が含まれていません。以下の回答を参照してください。あなたは初期化せずに$ケルビンでランダムな値を得ています。 –

答えて

1

また、再考してくださいあなたのループロジックあなたは初期化された$ケルビンをhaventは、すべての

1

まず;の$ケルビンは、いくつかのランダムな値を取っているので。 最初のループの後、$ケルビンの値は373になり、ループでは$kelvin <= $stop_kelvinは条件が偽であることを意味します。ループから飛び出します