- var_dump: documentation ( source)
- key: documentation ( source)
- next: documentation ( source)
- current: documentation ( source)
<?php
$a = [101 => 5, 109 => 100, 220 => 50, 231 => 45, 245 => 90];
$b = ['PRO' => 12, 'LOG' => 15, 'DEV' => 100];
$rest = 0;
foreach ($a as &$value) {
if ($value < $rest) {
$rest -= $value;
$value = 0;
continue;
} else {
$value -= $rest;
$rest = 0;
}
while ($value > 0 && key($b) !== null) {
if ($value < current($b)) {
$rest = current($b) - $value;
$value = 0;
} else {
$value = $value - current($b);
$rest = 0;
}
next($b);
}
}
var_dump($a);