PHP自动从另一列数据中增加(浮点)列

时间:2017-03-02 18:36:12

标签: php loops for-loop cycle control-structure

我的程序是这样开始的:

START  |   B    |  S      |  P       |
4000   | 215.05 | 4182.72 |  182.72  |

其中:

  

B =买入S =卖出
和P =利润。

我正在以这种方式计算价值:

bv = 18.60; //fixed value
sv = 19.45; //fixed value
START = 4000; //fixed value 
B = (START/bv);
S = (B*sv);
P = (S-START);

如何设法将“卖出”值存储在“START”中作为循环并收到如下表格:

START  |   B    |  S      |  P       |
4000   | 215.05 | 4182.72 |  182.72  |
4182.72| 224.87 | 4373.72 |  191.00  |

...

我试过了:     

$start= 4000;
//$inic = $cashinic;
$bv= 18.6; //buy value
$sv= 19.45;//sell value

$buy= ($start/$bv);
$sell = ($comp*$sv);
$profit = ($sell-$start);

for($i = 1; $i<=100; $i++)
{
?>
  <tr>
    <td><div align="center"><?php echo $start; ?> </div></td>
    <td><?php echo $buy; ?></td>
    <td><?php echo $sell; ?></td>
    <td><div align="center"><?php echo $profit; ?> </div></td>
   </tr>
<?php
}
?>
</table>

但它只给我这个结果:

START  |   B    |  S      |  P       |
4000   | 215.05 | 4182.72 |  182.72  |
4000   | 215.05 | 4182.72 |  182.72  |
4000   | 215.05 | 4182.72 |  182.72  |
....   | ...... | ....... |  ......  |

依旧...... 我非常感谢你的帮助。

我是否需要另一列自动增量? 这样的事情:

Col_index |START  |   B    |  S      |  P       |
      1   | 4000  | 215.05 | 4182.72 |  182.72  |
      2   |  ...  |  ...   |   ...   |   ...    |

Pd积。我没有使用数据库,是否有必要? (主要是因为我认为我不需要数据库)

1 个答案:

答案 0 :(得分:0)

您需要在循环结束时更新$start,以便下一次迭代使用新值:

$start = 4000;
$bv = 18.6;
$sv = 19.45;

for($i = 1; $i <= 100; $i += 1) {
    $buy = $start / $bv;
    $sell = $buy * $sv; // I replaced $comp with $buy is that correct?
    $profit = $sell - $start;
    echo $start . "\t" . $buy . "\t" . $sell . "\t" . $profit . "\n";

    // update start
    $start = $sell;
}

输出:

4000    215.05376344086 4182.7956989247 182.79569892473
4182.7956989247 224.8814891895  4373.9449647358 191.14926581108
4373.9449647358 235.15833143741 4573.8295464576 199.8845817218
4573.8295464576 245.90481432568 4782.8486386344 209.01909217683
...

如果您不想增加$start(可能会出现舍入错误),您还可以通过使用一点来将$start设置为行的值$i聪明的数学:

$start = 4000;
$bv = 18.6;
$sv = 19.45;

for($i = 0; $i < 100; $i += 1) { // loop needs to start at 0
    $s = $start * pow($sv / $bv, $i);
    $buy = $s / $bv;
    $sell = $buy * $sv;
    $profit = $sell - $start;
    echo $s . "\t" . $buy . "\t" . $sell . "\t" . $profit . "\n";
}