如何将这段旧的BASIC编写为PHP函数?

如何将这段旧的BASIC编写为PHP函数?,php,function,basic,Php,Function,Basic,假设在代码的前面设置了以下变量值: 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; 现在

假设在代码的前面设置了以下变量值:

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.

我将写如下。但是由于您有原始代码,您可以尝试插入一些示例值并比较结果

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);

我将写如下。但是由于您有原始代码,您可以尝试插入一些示例值并比较结果

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);

如果while循环周围是冗余的,它们会检查相同的条件。但你真正的问题是什么?你有两个函数,测试它们是否对许多输入产生相同的结果。我认为我的PHP函数不正确。我必须调整什么才能得到正确的结果?如果while循环周围是冗余的,它们会检查相同的条件。但你真正的问题是什么?你有两个函数,测试它们是否对许多输入产生相同的结果。我认为我的PHP函数不正确。我必须调整什么才能得到正确的结果?