3v4l.org

run code in 300+ PHP versions simultaneously
<?php function fill_packages( $packages ) { $overrun = 42; // Items in cart $cost = 0; $filled = array(); $quantities = array(); foreach( $packages as $the_package ){ $delivers = floor( $overrun / $the_package['contain'] ); if( ! $delivers ) { continue; } $filled[$the_package['name']] = $delivers; $overrun = $overrun - ( $delivers * $the_package['contain'] ); $cost = $cost + ( $delivers * $the_package['cost'] ); } if( $overrun ) { return 'Error, Overrun of ' . $overrun . '!'; } return array( 'packages' => $filled, 'cost' => $cost, ); } /* Test it! */ print_r( fill_packages( array( array( 'name' => '18er', 'contain' => 18, 'cost' => 5 ), array( 'name' => '12er', 'contain' => 12, 'cost' => 5 ), array( 'name' => '6er', 'contain' => 6, 'cost' => 8 ), ) ) );

preferences:
109.68 ms | 405 KiB | 5 Q