3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(-1); mb_internal_encoding('utf-8'); $text = "много их в Петербурге,молоденьких дур,сегодня в атласе да бархате,а завтра , поглядишь , метут улицу вместе с голью кабацкою...в самом деле ,что было бы с нами ,если бы вместо общеудобного правила:чин чина почитай , ввелось в употребление другое,например:ум ума почитай?какие возникли бы споры!"; // Для тестов // $text = 'roses are red,and violets are blue.whatever you do ill keep it for you.'; //$text = 'привет.есть 2 функции,preg_split и explode ,не понимаю,в чем между ними разница.'; /* Делает первую букву в строке заглавной */ function makeFirstLetterUppercase($part) { return mb_strtoupper(mb_substr($part, 0, 1)).mb_substr($part, 1); } /* исправляет текст */ function fixText($part) { return preg_replace('/[ ]*([,.;:!?]{1,})[ ]*/ui', '$1 ', $part); } $parts = preg_split('/(?<=[.!?])+[ ]*(?=\\w)/ui', $text); foreach($parts as &$value){ $value = makeFirstLetterUppercase( $value); $value = fixText( $value); } $text = implode("", $parts); echo $text;

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.3.60.0060.01317.00
8.3.50.0070.01418.45
8.3.40.0090.00618.92
8.3.30.0120.00318.82
8.3.20.0070.00720.31
8.3.10.0050.00323.53
8.3.00.0040.00419.68
8.2.180.0140.00318.92
8.2.170.0030.01319.04
8.2.160.0150.00422.96
8.2.150.0050.00324.18
8.2.140.0050.00324.66
8.2.130.0080.00021.30
8.2.120.0040.00426.35
8.2.110.0070.00322.43
8.2.100.0040.00818.03
8.2.90.0000.00819.17
8.2.80.0000.00817.97
8.2.70.0000.00917.88
8.2.60.0040.00417.80
8.2.50.0060.00318.10
8.2.40.0040.00420.53
8.2.30.0000.00819.32
8.2.20.0000.00818.19
8.2.10.0040.00418.12
8.2.00.0040.00418.12
8.1.280.0150.00025.92
8.1.270.0030.00522.22
8.1.260.0080.00026.35
8.1.250.0070.00028.09
8.1.240.0090.00023.92
8.1.230.0060.00619.20
8.1.220.0000.00817.79
8.1.210.0080.00018.77
8.1.200.0060.00317.61
8.1.190.0090.00017.60
8.1.180.0000.00818.10
8.1.170.0060.00318.84
8.1.160.0040.00419.11
8.1.150.0080.00019.15
8.1.140.0000.00819.78
8.1.130.0030.00319.11
8.1.120.0000.00717.75
8.1.110.0040.00417.69
8.1.100.0000.00817.64
8.1.90.0040.00417.71
8.1.80.0040.00417.63
8.1.70.0060.00317.55
8.1.60.0040.00417.79
8.1.50.0060.00317.68
8.1.40.0030.00517.57
8.1.30.0000.00817.86
8.1.20.0040.00417.90
8.1.10.0030.00617.68
8.1.00.0000.00917.68
8.0.300.0000.01018.77
8.0.290.0000.00717.00
8.0.280.0000.00718.53
8.0.270.0000.00717.36
8.0.260.0030.00318.98
8.0.250.0000.00717.21
8.0.240.0040.00417.28
8.0.230.0030.00517.12
8.0.220.0000.00717.23
8.0.210.0030.00317.27
8.0.200.0000.00717.33
8.0.190.0080.00017.17
8.0.180.0080.00017.32
8.0.170.0000.00717.27
8.0.160.0030.00417.22
8.0.150.0000.00716.98
8.0.140.0050.00517.14
8.0.130.0060.00013.55
8.0.120.0000.00817.20
8.0.110.0050.00217.23
8.0.100.0040.00417.26
8.0.90.0040.00417.30
8.0.80.0080.00817.22
8.0.70.0040.00417.28
8.0.60.0000.00817.04
8.0.50.0040.00417.13
8.0.30.0120.00717.23
8.0.20.0140.00717.43
8.0.10.0080.00017.31
8.0.00.0070.01117.16
7.4.330.0050.00015.55
7.4.320.0060.00016.97
7.4.300.0000.00616.85
7.4.290.0030.00316.93
7.4.280.0030.00616.84
7.4.270.0040.00416.95
7.4.260.0080.00316.95
7.4.250.0040.00416.94
7.4.240.0040.00416.95
7.4.230.0070.00016.86
7.4.220.0030.01416.98
7.4.210.0090.01316.90
7.4.200.0030.00516.98
7.4.160.0120.00716.74
7.4.150.0120.00617.40
7.4.140.0110.00617.86
7.4.130.0120.01216.87
7.4.120.0100.01016.78
7.4.110.0170.00316.64
7.4.100.0150.00316.88
7.4.90.0080.01116.67
7.4.80.0060.01619.39
7.4.70.0080.00817.01
7.4.60.0030.01616.61
7.4.50.0090.00616.85
7.4.40.0060.01616.99
7.4.30.0130.01016.70
7.4.00.0040.01115.04
7.3.330.0060.00013.50
7.3.320.0060.00013.50
7.3.310.0000.00716.75
7.3.300.0040.00416.57
7.3.290.0050.01016.67
7.3.280.0080.01016.63
7.3.270.0070.01117.40
7.3.260.0100.00716.78
7.3.250.0110.00916.75
7.3.240.0070.01116.77
7.3.230.0030.01816.59
7.3.210.0030.01616.59
7.3.200.0000.01616.57
7.3.190.0170.00616.64
7.3.180.0070.01016.72
7.3.170.0000.01616.80
7.3.160.0110.00516.48
7.2.330.0040.01516.91
7.2.320.0150.00916.98
7.2.310.0070.01016.71
7.2.300.0060.01016.88
7.2.290.0060.01216.95
7.2.60.0040.01117.26
7.1.200.0220.00015.70
7.1.80.0090.01318.33
7.1.70.0480.01016.58
7.1.60.0660.01234.32
7.1.50.0690.01434.32
7.1.40.0570.01233.97
7.1.30.0630.01633.93
7.1.20.0570.01634.11
7.1.10.0380.01116.10
7.1.00.0460.01316.07
7.0.200.0460.00715.96
7.0.190.0420.01015.98
7.0.180.0420.01215.58
7.0.170.0360.01615.57
7.0.160.0390.01015.62
7.0.150.1270.01015.63
7.0.140.0460.01215.77
7.0.130.0330.01015.91
7.0.120.0390.01415.93
7.0.110.0450.00315.68
7.0.100.0400.00915.75
7.0.90.0480.00815.67
7.0.80.0330.01315.85
7.0.70.0490.01515.79
7.0.60.0280.00915.60
7.0.50.0470.01415.78
7.0.40.0370.00815.87
7.0.30.0320.01315.86
7.0.20.0420.00815.93
7.0.10.0420.00615.89
7.0.00.0410.00615.86

preferences:
47.65 ms | 400 KiB | 5 Q