Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP从另一列数据自动递增(浮点)列_Php_Loops_For Loop_Cycle_Control Structure - Fatal编程技术网

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

PHP从另一列数据自动递增(浮点)列,php,loops,for-loop,cycle,control-structure,Php,Loops,For Loop,Cycle,Control Structure,我的程序是这样开始的: START | B | S | P | 4000 | 215.05 | 4182.72 | 182.72 | START | B | S | P | 4000 | 215.05 | 4182.72 | 182.72 | 4182.72| 224.87 | 4373.72 | 191.00 | 其中: B=买入S=卖出和p=利润 我是这样计算这些值的: bv = 18.60;

我的程序是这样开始的:

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

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);
如何将“SELL”值作为循环存储在“START”中并接收如下表:

START  |   B    |  S      |  P       |
4000   | 215.05 | 4182.72 |  182.72  |
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>
等等。。。 我非常感谢你的帮助

我需要另一列自动递增的吗? 类似这样的内容:

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

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

您需要在循环结束时更新
$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;
}
如果您不想增加
$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";
}
$start=4000;
$bv=18.6;
$sv=19.45;
对于($i=0;$i<100;$i+=1){//循环需要从0开始
$s=$start*pow($sv/$bv,$i);
$buy=$s/$bv;
$sell=$buy*$sv;
$利润=$销售-$开始;
echo$s。“\t”。$buy。“\t”。$sell。“\t”。$profit。“\n”;
}

在循环中移动数学,使其每次递增。您还使用了
$inic
而不是
$start
。让我检查一下,我还更正了您所说的$inic和$start问题,谢谢!它的显示与在循环外时的显示相同:(这是正确的答案,非常感谢@Halcyon!我完全忘记了
开始
更新!再次,非常感谢!