3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(-1); mb_internal_encoding('utf-8'); // $text = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее!"; // Другие варианты для тестов $text = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила."; $text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей."; /* Делает первую букву предложения заглавной */ function makeFirstletterUppercase($text) { $text = mb_strtoupper(mb_substr($text, 0, 1)) . mb_substr($text, 1, null); return $text; } function makeYodaStyleText($text) { $text = mb_strtolower($text); // Переводим текст в нижний регистр $splitSentences = preg_split('/[!.?]/iu', $text, 0, PREG_SPLIT_NO_EMPTY); // Разбиваем текст на предложения $text = ''; foreach ($splitSentences as $sentence) { /* Разбиваем предложения на слова (1 предложение = 1 массив из слов) */ $words = preg_split('/\\s|[,:;]/iu', $sentence, 0, PREG_SPLIT_NO_EMPTY); /* Склеиваем слова в предложения, поменяв их обратном порядке, переводим первую букву в верхний регистр и обьдияем предложения в единый текст */ $text .= makeFirstletterUppercase(implode(array_reverse($words), ' ')) . '. '; } return $text; } $yodaText = makeYodaStyleText($text); echo "Йода говорит: {$yodaText}\n";

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
8.4.120.0140.00620.52
8.4.110.0070.01119.04
8.4.100.0060.00517.92
8.4.90.0110.00822.58
8.4.80.0060.00318.18
8.4.70.0110.00918.16
8.4.60.0140.00718.72
8.4.50.0040.00622.02
8.4.40.0090.01019.91
8.4.30.0040.01119.63
8.4.20.0030.01718.00
8.4.10.0060.00317.89
8.3.250.0110.00818.88
8.3.240.0090.01216.94
8.3.230.0110.00917.04
8.3.220.0100.00918.74
8.3.210.0100.00917.16
8.3.200.0100.00216.92
8.3.190.0100.01017.19
8.3.180.0110.00717.07
8.3.170.0110.00716.87
8.3.160.0100.01016.74
8.3.150.0150.00417.18
8.3.140.0040.00417.12
8.3.130.0060.01317.05
8.3.120.0060.00320.57
8.3.110.0040.00417.09
8.3.100.0090.00917.11
8.3.90.0040.00426.77
8.3.80.0060.00316.88
8.3.70.0080.00817.00
8.3.60.0180.00417.00
8.3.50.0100.01022.18
8.3.40.0090.00919.00
8.3.30.0080.00819.05
8.3.20.0080.00020.52
8.3.10.0000.00821.90
8.3.00.0000.00817.65
8.2.290.0040.00420.34
8.2.280.0090.00918.68
8.2.270.0170.00317.05
8.2.260.0150.00317.48
8.2.250.0030.00518.78
8.2.240.0060.00318.84
8.2.230.0140.00720.94
8.2.220.0040.00424.06
8.2.210.0070.00026.77
8.2.200.0060.00616.88
8.2.190.0090.00616.88
8.2.180.0080.00825.92
8.2.170.0090.00919.31
8.2.160.0070.01322.96
8.2.150.0080.00025.66
8.2.140.0050.00324.66
8.2.130.0070.00022.44
8.2.120.0030.00626.35
8.2.110.0000.01221.19
8.2.100.0000.01220.56
8.2.90.0080.00018.09
8.2.80.0080.00019.34
8.2.70.0030.00617.93
8.2.60.0000.00918.09
8.2.50.0060.00318.10
8.2.40.0040.00422.28
8.2.30.0040.00421.14
8.2.20.0040.00418.04
8.2.10.0070.00018.46
8.2.00.0040.00418.52
8.1.330.0110.00722.01
8.1.320.0100.00916.47
8.1.310.0100.00716.85
8.1.300.0150.00018.25
8.1.290.0090.00030.84
8.1.280.0040.01125.92
8.1.270.0040.00418.89
8.1.260.0040.00426.35
8.1.250.0040.00428.09
8.1.240.0060.00322.05
8.1.230.0080.00420.75
8.1.220.0040.00417.91
8.1.210.0030.00518.77
8.1.200.0000.01017.60
8.1.190.0060.00317.47
8.1.180.0060.00318.10
8.1.170.0030.00618.81
8.1.160.0000.00719.16
8.1.150.0030.00622.07
8.1.140.0070.00019.85
8.1.130.0030.00319.18
8.1.120.0050.00217.76
8.1.110.0000.00717.69
8.1.100.0030.00517.62
8.1.90.0070.00017.65
8.1.80.0000.00717.68
8.1.70.0080.00017.73
8.1.60.0090.00017.85
8.1.50.0040.00417.78
8.1.40.0070.00417.77
8.1.30.0030.00617.88
8.1.20.0030.00517.73
8.1.10.0070.00017.75
8.1.00.0030.00517.63
8.0.300.0070.00419.94
8.0.290.0040.00417.00
8.0.280.0000.00718.46
8.0.270.0000.00817.27
8.0.260.0000.00720.77
8.0.250.0030.00517.26
8.0.240.0060.00317.35
8.0.230.0000.00717.35
8.0.220.0060.00317.26
8.0.210.0000.00817.41
8.0.200.0030.00317.40
8.0.190.0040.00717.36
8.0.180.0070.00017.25
8.0.170.0040.00417.36
8.0.160.0030.00317.32
8.0.150.0040.00417.10
8.0.140.0030.00517.29
8.0.130.0030.00313.69
8.0.120.0080.00017.16
8.0.110.0030.00517.37
8.0.100.0040.00417.30
8.0.90.0000.00717.43
8.0.80.0150.00017.25
8.0.70.0020.00517.20
8.0.60.0040.00417.22
8.0.50.0000.00717.18
8.0.30.0100.00917.33
8.0.20.0090.01117.48
8.0.10.0050.00317.21
8.0.00.0140.01016.94
7.4.330.0050.00015.55
7.4.320.0060.00016.88
7.4.300.0070.00016.87
7.4.290.0000.00716.95
7.4.280.0040.00416.95
7.4.270.0040.00416.93
7.4.260.0020.00516.98
7.4.250.0040.00416.92
7.4.240.0000.00816.88
7.4.230.0040.00416.90
7.4.220.0160.00316.82
7.4.210.0100.00316.99
7.4.200.0000.00717.02
7.4.160.0100.00616.82
7.4.150.0090.00917.40
7.4.140.0110.00817.86
7.4.130.0120.00716.86
7.4.120.0120.00916.90
7.4.110.0000.01916.82
7.4.100.0130.00316.90
7.4.90.0110.00616.92
7.4.80.0140.00319.39
7.4.70.0070.01116.66
7.4.60.0070.01016.79
7.4.50.0070.01116.92
7.4.40.0100.00716.68
7.4.30.0030.01316.72
7.4.00.0000.01715.41
7.3.330.0050.00013.73
7.3.320.0030.00313.72
7.3.310.0080.00016.63
7.3.300.0000.00716.69
7.3.290.0080.00716.71
7.3.280.0110.00816.74
7.3.270.0030.01417.40
7.3.260.0130.00816.78
7.3.250.0110.00616.69
7.3.240.0130.00616.77
7.3.230.0100.00716.86
7.3.210.0000.02016.76
7.3.200.0100.00617.02
7.3.190.0150.00716.56
7.3.180.0090.00916.74
7.3.170.0070.01016.85
7.3.160.0090.01216.52
7.2.330.0070.01116.98
7.2.320.0090.00916.98
7.2.310.0030.01416.92
7.2.300.0100.00716.98
7.2.290.0180.00016.88
7.2.60.0030.01017.24
7.1.200.0030.01016.20
7.1.70.0000.00817.13
7.1.60.0030.00917.64
7.1.40.0170.01334.70
7.1.30.0300.00734.77
7.1.20.0200.01034.70
7.1.10.0030.01016.64
7.1.00.0130.00716.87
7.0.200.0000.01117.03
7.0.180.0000.01316.58
7.0.170.0030.01016.48
7.0.160.0070.01016.39
7.0.150.0070.01016.47
7.0.140.0070.00716.67
7.0.130.0000.01716.62
7.0.120.0070.00716.66
7.0.110.0000.01316.42
7.0.100.0070.00316.50
7.0.90.0030.01016.43
7.0.80.0030.01016.71
7.0.70.0030.01016.66
7.0.60.0030.01016.54
7.0.50.0030.01016.50
7.0.40.0100.00316.62
7.0.30.0030.00716.79
7.0.20.0030.01316.58
7.0.10.0030.01316.57
7.0.00.0070.00716.57

preferences:
29.24 ms | 403 KiB | 5 Q