首页 > 解决方案 > 在数组上添加前一个值 - PHP

问题描述

我试图弄清楚如何让一个数组添加前一个数组的值,到目前为止,查看 PHP 手册我得到了如何为数组的每个位置添加一个值,但我不明白如何我可以将以前的值添加到实际值中吗?这就是我检查手册的内容:

<!DOCTYPE html>
<head>
</head>
    <body>
        <?php
           foreach (array(422, 322, -52323, 7452) as &$val) {
            $val = $val + 2;
            
                echo "$val<br>";

           }
        ?>
    </body>

我知道我必须用“添加上一个值”来更改“ +2 ”,但不知道如何告诉它这样做,尝试添加“ $val[0] ”或“ $val[$i] “但没有做我认为的事情。

谢谢!

标签: phparraysforeach

解决方案


通过将数组直接放入foreach. 要获取先前的值,您需要访问数组本身。

一旦你有了它,你可以得到当前值的索引foreach,你可以用它来确定前一个值的索引:

$array = array(422, 322, -52323, 7452);
foreach ($array as $index => &$val) {
    // the first index is 0, in that case there is no previous value
    // (trying to access $array[$index - 1] ($array[-1]) will fail then)
    if ($index > 0) {
        $val = $val + $array[$index - 1];
    }

    echo "$val<br>";
}

推荐阅读