1
假設以下變量的值之前在代碼中設置:如何將這個舊的BASIC作爲PHP函數寫入?
LSLATHOR = 1780
,NRSLATVER = 34
然後,我有GWBASIC的這兩行:
100 PITCHHOR=(LSLATHOR/(NRSLATVER+1)) : LSLATHOR=PITCHHOR*(NRSLATVER+1)
110 IF PITCHHOR>72 THEN NRSLATVER=NRSLATVER+1:GOTO 100
120 LPRINT "HORIZONTAL PITCH is equal to : ";PITCHHOR;
現在,如果我想把這個邏輯一個PHP函數我怎麼去解決它?:
function calc_h($slat_length_h, $slat_qty_v) {
$pitch_h = ($slat_length_h/($v_slat_qty + 1));
if ($pitch_h > 72) {
while ($pitch_h > 72) {
$v_slat_qty += 1;
$slat_length_h = $pitch_h * ($v_slat_qty + 1);
$pitch_h = ($slat_length_h/($v_slat_qty + 1));
}
}
return $pitch_h;
}
$slat_length_h = 1780;
$slat_qty_v = 34;
echo calc_h($slat_length_h, $slat_qty_v);
你需要知道的是一個條件有時會存在於PITCHHOR > 72
那麼它需要根據GWBasic腳本調整/重新計算$ pitch_h。
我希望我提供了足夠的信息。 Ty vm。
圍繞while循環的'if'是多餘的,它們檢查相同的條件。但是,你真正的問題是什麼?你有兩個函數,測試它們是否對多個輸入產生相同的結果。 – knittl
我不認爲我的PHP功能是正確的。爲了得到正確的結果,我需要調整什麼? – TheRealWitblitz