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("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","qwertyuioasdfghjklzxcvbnmfghjkyudfghjkcvbnmqwertyudfghjxcvbnqwertyuioplkjhgfdsamnbcvbhfeghipnvcseaaaaaaaaaaaaaaaaaaaaaaaaafjjuuuuuuuuuuuuuuuuuuuuuihkhjyftytdtvjhbkjnklklnbvvvvvvvvvhvhgzredyvjkjhiohiguyygjpojohuihuybhjmnknklnlkbhjcgcgcjhblk;lkoiouigjgggggggggggggggggggggggggggggggggggggggggggggggggggqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnm"); echo //levenshtein("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","qwertyuioasdfghjklzxcvbnmfghjkyudfghjkcvbnmqwertyudfghjxcvbnqwertyuioplkjhgfdsamnbcvbhfeghipnvcseaaaaaaaaaaaaaaaaaaaaaaaaafjjuuuuuuuuuuuuuuuuuuuuuihkhjyftytdtvjhbkjnklklnbvvvvvvvvvhvhgzredyvjkjhiohiguyygjpojohuihuybhjmnknklnlkbhjcgcgcjhblk;lkoiouigjgggggg"); ?>

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.0080.05912.39
5.4.270.0130.04312.39
5.4.260.0110.04412.39
5.4.250.0140.06812.39
5.4.240.0100.04912.39
5.4.230.0080.05112.39
5.4.220.0040.05112.39
5.4.210.0040.03712.38
5.4.200.0130.04712.38
5.4.190.0100.05112.38
5.4.180.0090.03712.38
5.4.170.0060.05412.39
5.4.160.0100.03712.38
5.4.150.0080.03712.38
5.4.140.0070.03512.07
5.4.130.0090.04112.05
5.4.120.0110.05912.02
5.4.110.0070.03612.01
5.4.100.0040.03712.01
5.4.90.0050.04012.01
5.4.80.0120.03312.01
5.4.70.0060.04012.00
5.4.60.0080.03812.01
5.4.50.0080.05112.01
5.4.40.0080.04412.00
5.4.30.0120.04411.99
5.4.20.0120.05111.98
5.4.10.0140.04511.99
5.4.00.0070.05811.49
5.3.280.0110.05612.71
5.3.270.0120.05112.72
5.3.260.0220.06412.72
5.3.250.0090.06012.72
5.3.240.0150.07812.72
5.3.230.0080.04812.71
5.3.220.0090.03712.68
5.3.210.0090.04012.68
5.3.200.0110.03712.68
5.3.190.0080.04112.67
5.3.180.0090.04012.67
5.3.170.0050.04212.66
5.3.160.0040.04112.67
5.3.150.0050.04012.67
5.3.140.0110.05612.66
5.3.130.0080.06612.66
5.3.120.0130.06812.65
5.3.110.0200.08512.66
5.3.100.0070.04612.12
5.3.90.0090.05512.09
5.3.80.0140.06812.08
5.3.70.0160.06612.07
5.3.60.0090.05112.06
5.3.50.0100.04912.00
5.3.40.0130.09312.00
5.3.30.0050.07911.96
5.3.20.0050.05211.75
5.3.10.0070.06011.71
5.3.00.0120.06111.71
5.2.170.0050.0369.20
5.2.160.0080.0419.20
5.2.150.0050.0389.20
5.2.140.0070.0499.20
5.2.130.0100.0449.16
5.2.120.0090.0499.16
5.2.110.0040.0429.16
5.2.100.0090.0799.16
5.2.90.0140.0569.15
5.2.80.0050.0559.16
5.2.70.0120.0469.15
5.2.60.0070.0369.11
5.2.50.0090.0419.08
5.2.40.0110.0309.06
5.2.30.0060.0629.03
5.2.20.0080.0309.02
5.2.10.0070.0298.93
5.2.00.0070.0318.80
5.1.60.0100.0378.08
5.1.50.0060.0268.09
5.1.40.0110.0338.06
5.1.30.0190.0538.41
5.1.20.0090.0688.44
5.1.10.0100.0408.16
5.1.00.0030.0308.16
5.0.50.0040.0276.64
5.0.40.0030.0276.51
5.0.30.0090.0406.32
5.0.20.0050.0336.28
5.0.10.0060.0266.26
5.0.00.0090.0406.25
4.4.90.0150.27526.91
4.4.80.0180.24326.89
4.4.70.0180.26326.89
4.4.60.0140.26526.89
4.4.50.0230.31826.90
4.4.40.0160.38026.90
4.4.30.0120.24326.90
4.4.20.0140.30426.95
4.4.10.0200.37426.95
4.4.00.0160.31526.93
4.3.110.0180.28026.83
4.3.100.0160.27926.82
4.3.90.0200.32326.80
4.3.80.0140.33426.80
4.3.70.0160.31626.80
4.3.60.0160.34426.80
4.3.50.0130.27626.80
4.3.40.0190.27226.75
4.3.30.0190.28825.56
4.3.20.0130.24425.55
4.3.10.0150.23925.50
4.3.00.0100.33326.73

preferences:
141.9 ms | 1394 KiB | 7 Q