3v4l.org

run code in 300+ PHP versions simultaneously
<?php $fieldNames = [ 'id', 'location', 'blankets', 'sleepingbags' ]; $file = new \SplFileObject('collections1.csv', 'rb'); $file->setCsvControl(",", "\"", "\\"); $file->setFlags(\SplFileObject::READ_CSV); $sumBlankets = []; foreach ($file as $i => $line) { $row = array_combine($fieldNames, $line); $k = $row['location']; // important if (!array_key_exists($k, $sumBlankets)) { $sumBlankets[$k] = [ 'blankets' => 0, 'sleepingbags' => 0 ]; } if ( is_numeric($row['blankets']) ) { $sumBlankets[$k]['blankets'] += $row['blankets']; } if ( is_numeric($row['sleepingbags']) ) { $sumBlankets[$k]['sleepingbags'] += $row['sleepingbags']; } } var_export( $sumBlankets );

preferences:
30.21 ms | 402 KiB | 5 Q