3v4l.org

run code in 300+ PHP versions simultaneously
<?php function sumCarries(array $array) { $columns = ['carries' => []]; // prepare matrix of 1-digit integers in columns -- ones, tens, hundreds, etc foreach ($array as $integer) { $columns[] = str_split(strrev($integer)); } // sum column values in ascending order and populate carry values // subsequent column sums need to include carried value for ($i = 0, $len = strlen(max($array)); $i < $len; ++$i) { $columns['carries'][$i + 1] = (int)(array_sum(array_column($columns, $i)) / 10); } // sum all populated carry values return array_sum($columns['carries']); } $tests = [ [123, 456], // no carries in any column [555, 555], // 1 ones, 1 tens, 1 hundreds [123, 594], // 1 tens [123, 123, 804], // 1 ones, 1 hundreds [99, 9, 99, 99, 99], // 4 ones, 4 hundreds [9,9,9,9,9,9,9,9,9,9,9,9], // 10 ones ]; var_export(array_map('sumCarries', $tests));
Output for git.master, git.master_jit, rfc.property-hooks
array ( 0 => 0, 1 => 3, 2 => 1, 3 => 2, 4 => 8, 5 => 10, )

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
168.32 ms | 405 KiB | 5 Q