$arr = [30,50,90,150]; $price = 200; $i = 0; if(count($arr) > 0) { do{ if($price > $arr[$i]) { $price -= $arr[$i]; unset($arr[$i]); $i++; } else { $arr[$i] = $arr[$i] - $price; $price = 0; } } while($price > 0); }