php - 在数组上添加前一个值 - 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] “但没有做我认为的事情。
谢谢!
解决方案
通过将数组直接放入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>";
}
推荐阅读
- gradle - 如何在 Gradle Kotlin DSL 中定义 Jacoco 报告聚合?
- java - 为什么 "5".equals(5) 不会评估为真?他们不是都一样,都是5吗?
- tensorflow - 为英特尔至强黄金 6148 构建张量流
- c# - 在 XAML 语句上使用 VS 2017 时出现编码调试错误
- php - Activerecord CodeIgniter 3
- azure-api-management - Azure API 管理 - 从内部服务导入开放 API
- google-kubernetes-engine - 复制可以在不同的节点类型上吗?
- jobs - 如何在作业开始之前将数据复制到特定的 HPC 节点而不知道它是哪个节点
- html - 为什么向引导元素添加自定义类在 chrome 中不起作用,但在边缘中起作用?
- r - R:通过recipies包对分类变量进行频率编码