3v4l.org

run code in 300+ PHP versions simultaneously
<?php var_dump(levenshtein(utf8_to_extended_ascii('прив'), utf8_to_extended_ascii('привет'))); function utf8_to_extended_ascii($str, &$map) { // find all multibyte characters (cf. utf-8 encoding specs) $matches = array(); if (!preg_match_all('/[\xC0-\xF7][\x80-\xBF]+/', $str, $matches)) return $str; // plain ascii string // update the encoding map with the characters not already met foreach ($matches[0] as $mbc) if (!isset($map[$mbc])) $map[$mbc] = chr(128 + count($map)); // finally remap non-ascii characters return strtr($str, $map); }
Output for 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.12 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Fatal error: Uncaught ArgumentCountError: Too few arguments to function utf8_to_extended_ascii(), 1 passed in /in/jeZhi on line 3 and exactly 2 expected in /in/jeZhi:5 Stack trace: #0 /in/jeZhi(3): utf8_to_extended_ascii('\xD0\xBF\xD1\x80\xD0\xB8\xD0\xB2') #1 {main} thrown in /in/jeZhi on line 5
Process exited with code 255.
Output for 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.8 - 5.6.28, 7.0.0 - 7.0.20
Warning: Missing argument 2 for utf8_to_extended_ascii(), called in /in/jeZhi on line 3 and defined in /in/jeZhi on line 5 Notice: Undefined variable: map in /in/jeZhi on line 15 Warning: Missing argument 2 for utf8_to_extended_ascii(), called in /in/jeZhi on line 3 and defined in /in/jeZhi on line 5 Notice: Undefined variable: map in /in/jeZhi on line 15 int(2)
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5
Warning: Missing argument 2 for utf8_to_extended_ascii() in /in/jeZhi on line 5 Warning: Missing argument 2 for utf8_to_extended_ascii() in /in/jeZhi on line 5 int(2)

preferences:
244.17 ms | 402 KiB | 314 Q