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","qwertyuioasdfghjklzxcvbnmfghjkyudfghjkcvbnmqwertyudfghjxcvbnqwertyuioplkjhgfdsamnbcvbhfeghipnvcseaaaaaaaaaaaaaaaaaaaaaaaaafjjuuuuuuuuuuuuuuuuuuuuuihkhjyftytdtvjhbkjnklklnbvvvvvvvvvhvhgzredyvjkjhiohiguyygjpojohuihuybhjmnknklnlkbhjcgcgcjhblklkoiouigjgggggggggggggggggggggggggggggggggggggggggggggggggggqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnm"); 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.0090.05312.39
5.4.270.0120.05912.39
5.4.260.0110.06012.39
5.4.250.0100.06512.39
5.4.240.0150.07512.39
5.4.230.0110.06412.38
5.4.220.0120.05912.38
5.4.210.0110.05112.38
5.4.200.0090.06112.38
5.4.190.0090.05712.38
5.4.180.0110.05412.38
5.4.170.0050.05612.38
5.4.160.0120.05212.38
5.4.150.0070.04512.38
5.4.140.0140.06012.07
5.4.130.0080.05312.05
5.4.120.0090.04312.01
5.4.110.0070.04912.01
5.4.100.0080.04912.01
5.4.90.0130.05012.01
5.4.80.0050.04912.01
5.4.70.0080.04512.01
5.4.60.0100.04312.01
5.4.50.0090.04112.01
5.4.40.0110.05012.00
5.4.30.0080.05011.99
5.4.20.0100.04811.99
5.4.10.0080.05911.99
5.4.00.0120.05311.48
5.3.280.0160.07212.71
5.3.270.0150.06712.72
5.3.260.0180.06512.72
5.3.250.0190.07012.72
5.3.240.0090.04812.72
5.3.230.0080.05712.71
5.3.220.0090.05612.68
5.3.210.0100.05812.68
5.3.200.0130.04912.68
5.3.190.0120.04912.68
5.3.180.0120.05512.67
5.3.170.0130.08612.67
5.3.160.0070.03912.67
5.3.150.0070.03912.67
5.3.140.0090.04612.66
5.3.130.0090.03912.66
5.3.120.0090.04212.65
5.3.110.0070.04512.66
5.3.100.0090.04612.12
5.3.90.0100.04612.09
5.3.80.0070.04112.08
5.3.70.0100.05212.08
5.3.60.0120.05112.06
5.3.50.0040.04212.01
5.3.40.0090.04412.01
5.3.30.0070.03511.97
5.3.20.0070.04611.75
5.3.10.0050.04511.71
5.3.00.0090.04711.71

preferences:
142.53 ms | 1394 KiB | 7 Q