3v4l.org

run code in 300+ PHP versions simultaneously
<?php function merger($array1, $array2) { $result = array_merge($array1, $array2); } function spreader($array1, $array2) { $result = [...$array1, ...$array2]; } function uniter($array1, $array2) { $result = $array1 + $array2; } $array1 = []; $key = 'a'; for ($i = 0; $i < 500; ++$i) { $array1[++$key] = $i; } $array2 = []; for ($i = 500; $i < 1000; ++$i) { $array2[++$key] = $i; } $runs = 1000; // array_merge in loop $t0 = microtime(true); for ($i = 0; $i < $runs; ++$i) { merger($array1, $array2); } $tMerge = microtime(true); echo "merge: " . ($tMerge - $t0) . PHP_EOL; // array_merge with spread operator $t1 = microtime(true); for ($i = 0; $i < $runs; ++$i) { spreader($array1, $array2); } $tSpread = microtime(true); echo "spread: " . ($tSpread - $t1) . PHP_EOL; // union operator $t2 = microtime(true); for ($i = 0; $i < $runs; ++$i) { uniter($array1, $array2); } $tUnion = microtime(true); echo "union: " . ($tUnion - $t2);
Output for 8.3.2
merge: 0.0044920444488525 spread: 0.0077750682830811 union: 0.0060598850250244
Output for 8.3.1
merge: 0.004525899887085 spread: 0.0073370933532715 union: 0.0047121047973633
Output for 8.3.0
merge: 0.0058307647705078 spread: 0.0092639923095703 union: 0.0058159828186035
Output for 8.2.15
merge: 0.0046710968017578 spread: 0.0087170600891113 union: 0.006270170211792
Output for 8.2.14
merge: 0.0046050548553467 spread: 0.0083351135253906 union: 0.0047008991241455
Output for 8.2.13
merge: 0.0053620338439941 spread: 0.0093338489532471 union: 0.0057430267333984
Output for 8.2.12
merge: 0.0049588680267334 spread: 0.0088789463043213 union: 0.0052378177642822
Output for 8.2.11
merge: 0.0047860145568848 spread: 0.0083911418914795 union: 0.0046451091766357
Output for 8.2.10
merge: 0.0051290988922119 spread: 0.0089178085327148 union: 0.0058310031890869
Output for 8.2.9
merge: 0.0050089359283447 spread: 0.0078170299530029 union: 0.006317138671875
Output for 8.2.8
merge: 0.0047538280487061 spread: 0.0083680152893066 union: 0.0059809684753418
Output for 8.2.7
merge: 0.0060899257659912 spread: 0.0093939304351807 union: 0.0069749355316162
Output for 8.2.6
merge: 0.0050358772277832 spread: 0.0081171989440918 union: 0.0068609714508057
Output for 8.2.5
merge: 0.0053310394287109 spread: 0.008234977722168 union: 0.0051720142364502
Output for 8.2.4
merge: 0.004565954208374 spread: 0.0094139575958252 union: 0.0054531097412109
Output for 8.2.3
merge: 0.0053951740264893 spread: 0.0076210498809814 union: 0.0059530735015869
Output for 8.2.2
merge: 0.0052118301391602 spread: 0.0087289810180664 union: 0.0054411888122559
Output for 8.2.1
merge: 0.0049760341644287 spread: 0.009005069732666 union: 0.0054640769958496
Output for 8.2.0
merge: 0.0051419734954834 spread: 0.008613109588623 union: 0.0049009323120117
Output for 8.1.27
merge: 0.0050349235534668 spread: 0.0095748901367188 union: 0.0047540664672852
Output for 8.1.26
merge: 0.0050768852233887 spread: 0.0077009201049805 union: 0.005141019821167
Output for 8.1.25
merge: 0.0063309669494629 spread: 0.0099010467529297 union: 0.0061309337615967
Output for 8.1.24
merge: 0.0052227973937988 spread: 0.0087192058563232 union: 0.0048460960388184
Output for 8.1.23
merge: 0.0051889419555664 spread: 0.009660005569458 union: 0.0065741539001465
Output for 8.1.22
merge: 0.0064001083374023 spread: 0.010217905044556 union: 0.0056650638580322
Output for 8.1.21
merge: 0.0050289630889893 spread: 0.0081040859222412 union: 0.0054221153259277
Output for 8.1.20
merge: 0.0050840377807617 spread: 0.0071229934692383 union: 0.0053150653839111
Output for 8.1.19
merge: 0.0051040649414062 spread: 0.010763168334961 union: 0.0070159435272217
Output for 8.1.18
merge: 0.0062539577484131 spread: 0.0072789192199707 union: 0.0062289237976074
Output for 8.1.17
merge: 0.005202054977417 spread: 0.009397029876709 union: 0.0055370330810547
Output for 8.1.16
merge: 0.0062589645385742 spread: 0.0096080303192139 union: 0.0048539638519287
Output for 8.1.15
merge: 0.0053257942199707 spread: 0.0076920986175537 union: 0.0051620006561279
Output for 8.1.14
merge: 0.005748987197876 spread: 0.0085480213165283 union: 0.0055859088897705
Output for 8.1.13
merge: 0.005836009979248 spread: 0.0088579654693604 union: 0.0053939819335938
Output for 8.1.12
merge: 0.0048019886016846 spread: 0.0089530944824219 union: 0.0052330493927002
Output for 8.1.11
merge: 0.0053548812866211 spread: 0.0069930553436279 union: 0.0050787925720215
Output for 8.1.10
merge: 0.0048160552978516 spread: 0.0078790187835693 union: 0.0047008991241455
Output for 8.1.9
merge: 0.0056321620941162 spread: 0.0085949897766113 union: 0.0057871341705322
Output for 8.1.8
merge: 0.0049209594726562 spread: 0.0080769062042236 union: 0.0054869651794434
Output for 8.1.7
merge: 0.0048978328704834 spread: 0.0078179836273193 union: 0.0046219825744629
Output for 8.1.6
merge: 0.0048689842224121 spread: 0.0074191093444824 union: 0.0050849914550781
Output for 8.1.5
merge: 0.0059268474578857 spread: 0.0094771385192871 union: 0.0054898262023926
Output for 8.1.4
merge: 0.0052139759063721 spread: 0.0078871250152588 union: 0.0052661895751953
Output for 8.1.3
merge: 0.0051329135894775 spread: 0.0084969997406006 union: 0.0053620338439941
Output for 8.1.2
merge: 0.0054500102996826 spread: 0.0075390338897705 union: 0.0051798820495605
Output for 8.1.1
merge: 0.0051019191741943 spread: 0.0085961818695068 union: 0.005363941192627
Output for 8.1.0
merge: 0.005465030670166 spread: 0.0086979866027832 union: 0.004857063293457

preferences:
50.11 ms | 470 KiB | 5 Q