циклы — PHP Авто Приращение (float) столбца из данных другого столбца

Моя программа начинается так:

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  |   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   |  ...  |  ...   |   ...   |   ...    |

Полицейское управление Я не использую базу данных, это необходимо? (в основном потому, что я не думаю, что мне нужна база данных)

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";
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]