Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.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添加+;每件物品再增加1件_Php - Fatal编程技术网

PHP添加+;每件物品再增加1件

PHP添加+;每件物品再增加1件,php,Php,我试图向PHP循环中的每个项添加一个整数。所以第一项得到+1,第二项得到+2,第三项得到+3。。。。等等 我发现代码为每个项目添加相同的数字,但我希望每个项目都增加 下面是我现在使用的方法,以使每个项目获得+1 $delay = 0.1; foreach ($posts as $post){ $delay+= .1; } 我该怎么做才能向每个项目添加+.1?假设使用带顺序键的基于0的整数索引数组,您可以执行以下操作: $delayBase = $delay = 0.1; foreach

我试图向PHP循环中的每个项添加一个整数。所以第一项得到+1,第二项得到+2,第三项得到+3。。。。等等

我发现代码为每个项目添加相同的数字,但我希望每个项目都增加

下面是我现在使用的方法,以使每个项目获得+1

$delay = 0.1;
foreach ($posts as $post){
    $delay+= .1;
}

我该怎么做才能向每个项目添加+.1?

假设使用带顺序键的基于0的整数索引数组,您可以执行以下操作:

$delayBase = $delay = 0.1;
foreach ($posts as $k => $post){
        $delay += ($k + 1)($delayBase);
}
在第一次迭代中(当
$k
为0时),它将向
$delay
添加0.1。第二次迭代将向
$delay
添加(2*0.1)或0.2。第三次迭代将添加(3*0.1)或0.3,以此类推

更新

我认为@MarcB在注释中是正确的,您甚至不需要循环计算算术序列中前n个元素的总和(这里的序列是0.1、0.2、0.3…),方程式(发现)的一般形式是:

Sn=n(a1+an)/2

其中n是我们希望在序列中求和的项数,a1是序列中的第一项,an是序列中的最后一项

接下来,我们可以将代码简化为:

$numPosts = count($posts);
$sum = ($numPosts(0.1 + ($numPosts * 0.1)) / 2)
$delay = 0.1 + $sum;
如果
$posts
恰好是一个关联数组,而不是从0开始,或者索引中有间隙或孔,那么这也将解决一个潜在问题。

如何:

$delay = 0.1;
for ($i=0; $i<sizeof($posts); $i++){
    $posts[i] += $i*delay;
}
$delay=0.1;
对于($i=0;$i请尝试以下方法:

$delay = $i = 0.1; 
foreach ($posts as $post) {
    $delay+= $i; 
    $i += 0.1;
}

$delay=$delay+0.1;有效吗?这不是一个整数这些是浮点数,你基本上需要一个计数,它的作用是x*0.1,所以它会按照你的意愿结束,来加上你要做的值:`$delay+=(计数*0.1);为什么循环?
$delay=count($posts)*0.1
?我误解了你的问题,因此mark b给出了迄今为止最好的答案。我认为他希望为每个项目添加延迟,并对其进行处理,而不是获得完全延迟。你可以轻松地增加值,但我喜欢这个。投票。如果第一个键是
10
a
,那么OP需要一个不同的键t解决方案,因此我在开始时提出了警告。这太棒了!您让我明白了。使用
$numpost
并乘以我的延迟数,使它完全满足了我的需要。谢谢您的帮助。