3v4l.org

run code in 300+ PHP versions simultaneously
<?php function LevenshteinDistance($str1, $str2) { $d = array (); $len1 = strlen($str1); $len2 = strlen($str2); for ($i1 = 0; $i1 <= $len1; $i1++) { $d[$i1] = array (); $d[$i1][0] = $i1; } for ($i2 = 0; $i2 <= $len2; $i2++) { $d[0][$i2] = $i2; } for ($i1 = 1; $i1 <= $len1; $i1++) { for ($i2 = 1; $i2 <= $len2; $i2++) { $cost = ($str1[$i1 - 1] == $str2[$i2 - 1]) ? 0 : 1; $d[$i1][$i2] = min( $d[$i1 - 1][$i2 ] + 1, //挿入 $d[$i1 ][$i2 - 1] + 1, //削除 $d[$i1 - 1][$i2 - 1] + $cost //置換 ); } } return $d[$len1][$len2]; } echo LevenshteinDistance("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","qwertyuioasdfghjklzxcvbnmfghjkyudfghjkcvbnmqwertyudfghjxcvbnqwertyuioplkjhgfdsamnbcvbhfeghipnvcseaaaaaaaaaaaaaaaaaaaaaaaaafjjuuuuuuuuuuuuuuuuuuuuuihkhjyftytdtvjhbkjnklklnbvvvvvvvvvhvhgzredyvjkjhiohiguyygjpojohuihuybhjmnknklnlkbhjcgcgcjhblk;lkoiouigjggggggggggggggggggggggggggggggggggggggggggggggggggg").<br>; echo levenshtein("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","qwertyuioasdfghjklzxcvbnmfghjkyudfghjkcvbnmqwertyudfghjxcvbnqwertyuioplkjhgfdsamnbcvbhfeghipnvcseaaaaaaaaaaaaaaaaaaaaaaaaafjjuuuuuuuuuuuuuuuuuuuuuihkhjyftytdtvjhbkjnklklnbvvvvvvvvvhvhgzredyvjkjhiohiguyygjpojohuihuybhjmnknklnlkbhjcgcgcjhblk;lkoiouigjggggggggggggggggggggggggggggggggggggggggggggggggggg"); ?>

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)
5.4.280.0090.04812.39
5.4.270.0090.04812.39
5.4.260.0100.05112.39
5.4.250.0070.05212.39
5.4.240.0110.04512.39
5.4.230.0090.04912.39
5.4.220.0060.05012.38
5.4.210.0060.04912.39
5.4.200.0090.04212.38
5.4.190.0060.03812.38
5.4.180.0110.03612.38
5.4.170.0060.04812.39
5.4.160.0040.04112.38
5.4.150.0070.03912.38
5.4.140.0070.04612.07
5.4.130.0080.04712.05
5.4.120.0080.04912.02
5.4.110.0080.03512.01
5.4.100.0100.03512.01
5.4.90.0060.04212.01
5.4.80.0060.04012.01
5.4.70.0070.04112.01
5.4.60.0070.05112.00
5.4.50.0060.05512.01
5.4.40.0100.06011.99
5.4.30.0080.06411.99
5.4.20.0100.05711.99
5.4.10.0100.05411.99
5.4.00.0070.05611.48
5.3.280.0080.05512.71
5.3.270.0080.05012.73
5.3.260.0050.04012.72
5.3.250.0070.04212.72
5.3.240.0110.04812.72
5.3.230.0080.05212.71
5.3.220.0150.04312.68
5.3.210.0110.04612.68
5.3.200.0070.05112.68
5.3.190.0100.05012.68
5.3.180.0120.05112.67
5.3.170.0100.05412.67
5.3.160.0100.05312.67
5.3.150.0110.05412.67
5.3.140.0110.05612.66
5.3.130.0060.05812.66
5.3.120.0130.05212.66
5.3.110.0080.05512.66
5.3.100.0100.05112.12
5.3.90.0100.05312.09
5.3.80.0110.04712.07
5.3.70.0070.05112.07
5.3.60.0150.04412.06
5.3.50.0100.04812.01
5.3.40.0060.05212.00
5.3.30.0060.05111.96
5.3.20.0070.05011.75
5.3.10.0070.05011.71
5.3.00.0080.05011.70
5.2.170.0060.0439.20
5.2.160.0090.0389.20
5.2.150.0050.0349.21
5.2.140.0050.0329.20
5.2.130.0100.0289.16
5.2.120.0040.0309.16
5.2.110.0060.0299.16
5.2.100.0030.0309.16
5.2.90.0060.0299.15
5.2.80.0040.0339.16
5.2.70.0060.0319.16
5.2.60.0060.0309.11
5.2.50.0100.0289.08
5.2.40.0070.0279.05
5.2.30.0030.0339.04
5.2.20.0060.0299.01
5.2.10.0040.0298.93
5.2.00.0070.0278.80
5.1.60.0040.0248.08
5.1.50.0040.0258.09
5.1.40.0070.0238.06
5.1.30.0090.0338.41
5.1.20.0060.0388.43
5.1.10.0050.0348.16
5.1.00.0040.0358.16
5.0.50.0050.0256.64
5.0.40.0040.0236.51
5.0.30.0100.0356.31
5.0.20.0020.0236.28
5.0.10.0050.0196.27
5.0.00.0030.0316.25
4.4.90.0020.0164.78
4.4.80.0040.0194.75
4.4.70.0040.0204.76
4.4.60.0060.0184.75
4.4.50.0000.0254.77
4.4.40.0040.0324.71
4.4.30.0000.0244.76
4.4.20.0050.0204.84
4.4.10.0050.0194.85
4.4.00.0040.0314.76
4.3.110.0030.0204.67
4.3.100.0030.0214.66
4.3.90.0030.0204.63
4.3.80.0080.0274.58
4.3.70.0020.0164.63
4.3.60.0040.0204.63
4.3.50.0060.0204.63
4.3.40.0030.0334.54
4.3.30.0030.0223.30
4.3.20.0010.0233.29
4.3.10.0000.0243.25
4.3.00.0130.01713.64

preferences:
141.87 ms | 1394 KiB | 7 Q