3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $a = array(1,2,1,3,2,1,3,2,1,3,2,1,2,3,1,2,3); echo implode(" ", $a) . "\n"; $first = 0; $last = sizeof($a) - 1; foreach($a as $k => $v) { echo "Found $v at index $k\n"; if ($v == 1) { swap($a, $k, $first); } if ($v == 3) { swap($a, $k, $last); } } echo implode(" ", $a) . "\n"; function swap(&$arr, $k1, $k2) { echo "Swapping $k1 and $k2\n"; $tmp = $arr[$k2]; $arr[$k2] = $arr[$k1]; $arr[$k1] = $tmp; }
Output for 4.3.0 - 7.1.0
1 2 1 3 2 1 3 2 1 3 2 1 2 3 1 2 3 Found 1 at index 0 Swapping 0 and 0 Found 2 at index 1 Found 1 at index 2 Swapping 2 and 0 Found 3 at index 3 Swapping 3 and 16 Found 2 at index 4 Found 1 at index 5 Swapping 5 and 0 Found 3 at index 6 Swapping 6 and 16 Found 2 at index 7 Found 1 at index 8 Swapping 8 and 0 Found 3 at index 9 Swapping 9 and 16 Found 2 at index 10 Found 1 at index 11 Swapping 11 and 0 Found 2 at index 12 Found 3 at index 13 Swapping 13 and 16 Found 1 at index 14 Swapping 14 and 0 Found 2 at index 15 Found 3 at index 16 Swapping 16 and 16 1 2 1 3 2 1 3 2 1 3 2 1 2 3 1 2 3