Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.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_Math - Fatal编程技术网

Php 循环使用十进制值

Php 循环使用十进制值,php,math,Php,Math,作为PHP项目的一部分,我需要返回任意间隔中包含的每个值的正弦值。此外,我还需要能够设置函数的“范围”,即需要循环小数位数 例如:间隔1至3的小数点后1位包括: 1, 1.1, 1.2, ... 2.8,2.9,3 同一时间间隔的小数点后2位 1,1.01,1.02。。。2.98,2.99,3 等等。。。我试着用“Of”循环来做,但它只考虑自然数。< /P> 建议?您可以调整以下代码以满足您的需要: $start = 1; $end = 3; $place = 1; $step = 1 / p

作为PHP项目的一部分,我需要返回任意间隔中包含的每个值的正弦值。此外,我还需要能够设置函数的“范围”,即需要循环小数位数

例如:间隔1至3的小数点后1位包括: 1, 1.1, 1.2, ... 2.8,2.9,3

同一时间间隔的小数点后2位

1,1.01,1.02。。。2.98,2.99,3

等等。。。我试着用“Of”循环来做,但它只考虑自然数。< /P>
建议?

您可以调整以下代码以满足您的需要:

$start = 1;
$end = 3;
$place = 1;

$step = 1 / pow(10, $place);

for($i = $start; $i <= $end; $i = round($i + $step, $place))
{
    echo $i . "\n";
}

您可以调整以下代码以满足您的需要:

$start = 1;
$end = 3;
$place = 1;

$step = 1 / pow(10, $place);

for($i = $start; $i <= $end; $i = round($i + $step, $place))
{
    echo $i . "\n";
}

为什么第一个示例输出中的3不在第二个示例输出中?为什么第一个示例输出中的3不在第二个示例输出中?Dejavu:为什么输出中缺少3?^^^@Nobody:这只是一个浮点错误。我已经更新了我的答案来解决这个问题。非常感谢你,这非常有效!!只有一件事,当我把小数位数提高到4-5时,它会变得非常慢,有没有办法让它更快?(我正在运行localhost)本质上,当你创建更多的值时,它会变慢。我想说,这已经是使用php可以获得的最快方法。如果想要更快,可能需要更快的语言或映射到更快语言的内置函数^^^^实际上,瓶颈似乎是输出(我没有检查这是连接还是编辑器)。只是循环本身在这里运行5位小数大约需要一秒钟,但是输出那20万行和其他东西真的会停滞。德哈武:为什么输出中缺少3位?^^^@Nobody:那只是一个浮点错误。我已经更新了我的答案来解决这个问题。非常感谢你,这非常有效!!只有一件事,当我把小数位数提高到4-5时,它会变得非常慢,有没有办法让它更快?(我正在运行localhost)本质上,当你创建更多的值时,它会变慢。我想说,这已经是使用php可以获得的最快方法。如果想要更快,可能需要更快的语言或映射到更快语言的内置函数^^^^实际上,瓶颈似乎是输出(我没有检查这是连接还是编辑器)。只是循环本身在这里运行大约需要一秒5位小数,但是输出那200000行和其他东西真的会停滞。