php - PHP数组删除元素或减法
问题描述
我有一个值数组 [20,40,30,50],我还有另一个值为 30 的变量。
我需要从第一个元素中减去 30。如果 $var 更大,则需要删除第一个元素并从数组中的下一个元素中减去剩余值。
示例:$arr = array(20,40,30,50); $var = 30;
结果数组应为 (30,30,50)
谢谢
解决方案
循环数组并相应地减去和/或取消设置值。
$arr = [20,40,30,50];
$var =30;
Foreach($arr as $key => &$val){
If($var > $val){
$var -= $val;
Unset($arr[$key]);
}Else{
$val -= $var;
$var = 0;
}
}
Unset($val);
Var_dump($arr);
您也可以添加此行If($var>0) Echo $var;
,以查看循环结束时 $var 中是否还有任何内容。
https://3v4l.org/LU2Tf
更新链接以包含 $var =0;
推荐阅读
- jsp - Dropzone 不适用于任何浏览器
- java - 任务不可序列化 - Java 1.8 和 Spark 2.1.1
- c# - 在 asp core 2.1 中上传后无法访问图像
- sql - 相关产品的 SQL Server 查询
- java - 如何打印新对象的参数?
- javascript - 创建具有动态内容的图像
- java - Java JButton 不会遍历容器中的 JLabel(带有图像)
- r - 将列值放在滞后组合中
- android - 从当前的 html 文件 Android Studio 打开本地 html 文件?
- function - 如何将 raw_input 与函数一起使用并在 Git Bash 中获取输出?