3v4l.org

run code in 300+ PHP versions simultaneously
<?php function mergeSort($array) { echo "array = " . json_encode($array) . "\n"; $count = count($array); if ($count == 1) { return $array; } $middle = $count / 2; // round/floor/ceil is unnecessary return merge( mergeSort(array_slice($array, 0, $middle)), mergeSort(array_slice($array, $middle)) ); } function merge($half1, $half2) { do { $temp[] = $half1[0] < $half2[0] ? array_shift($half1) : array_shift($half2); } while(isset($half1[0], $half2[0])); return array_merge($temp, $half1, $half2); } $input = [4, 2, 7, 5, 3]; $input = mergeSort($input); var_export($input);
Output for 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.28, 8.4.1 - 8.4.14, 8.5.0
array = [4,2,7,5,3] Deprecated: Implicit conversion from float 2.5 to int loses precision in /in/REQAa on line 11 array = [4,2] array = [4] array = [2] Deprecated: Implicit conversion from float 2.5 to int loses precision in /in/REQAa on line 12 array = [7,5,3] Deprecated: Implicit conversion from float 1.5 to int loses precision in /in/REQAa on line 11 array = [7] Deprecated: Implicit conversion from float 1.5 to int loses precision in /in/REQAa on line 12 array = [5,3] array = [5] array = [3] array ( 0 => 2, 1 => 3, 2 => 4, 3 => 5, 4 => 7, )
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.
Output for 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30
array = [4,2,7,5,3] array = [4,2] array = [4] array = [2] array = [7,5,3] array = [7] array = [5,3] array = [5] array = [3] array ( 0 => 2, 1 => 3, 2 => 4, 3 => 5, 4 => 7, )

preferences:
177.4 ms | 410 KiB | 5 Q