假设代码中先前设置了以下变量值:
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。
答案 0 :(得分:1)
我写的如下。但由于你有原始代码,你可以简单地尝试插入一些样本值并比较结果。
function calc_pitchhor($lslathor, $nrslatver) {
do {
$pitchhor = ($lslathor/($nrslatver+1));
$lslathor = $pitchhor*($nrslatver+1);
++$nrslatver;
} while($pitchhor > 72)
return $pitchhor;
}
$lslathor = 1780;
$nrslatver = 34;
echo "HORIZONTAL PITCH is equal to: ", calc_pitchhor($slat_length_h, $slat_qty_v);