3v4l.org

run code in 300+ PHP versions simultaneously
<?php function character_iterator ($str) { $len=strlen($str); for ($i=0;$i<$len;++$i) yield ord($str[$i]); } function code_point_iterator ($str) { $i=0; $cp=0; foreach (character_iterator(iconv('utf-8','utf-32be',$str)) as $b) { if ($i===4) { $i=0; yield $cp; $cp=0; } $cp<<=8; $cp|=$b; ++$i; } if ($i!==0) yield $cp; } foreach (code_point_iterator('schieße') as $cp) var_dump(\IntlChar::charName(\IntlChar::foldCase($cp))); ?>
Output for 8.0.14 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Warning: iconv(): Wrong encoding, conversion from "utf-8" to "utf-32be" is not allowed in /in/TMmpL on line 14
Output for 7.3.32 - 7.3.33, 7.4.33, 8.0.13
Fatal error: Uncaught Error: Call to undefined function iconv() in /in/TMmpL:14 Stack trace: #0 /in/TMmpL(33): code_point_iterator('schie\xC3\x9Fe') #1 {main} thrown in /in/TMmpL on line 14
Process exited with code 255.
Output for 8.0.0 - 8.0.12
Fatal error: Uncaught ArgumentCountError: IntlChar::foldCase() expects exactly 2 arguments, 1 given in /in/TMmpL:33 Stack trace: #0 /in/TMmpL(33): IntlChar::foldCase(115) #1 {main} thrown in /in/TMmpL on line 33
Process exited with code 255.
Output for 7.4.26 - 7.4.32
Notice: iconv(): Wrong charset, conversion from `utf-8' to `utf-32be' is not allowed in /in/TMmpL on line 14
Output for 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.31, 7.4.0 - 7.4.25
string(20) "LATIN SMALL LETTER S" string(20) "LATIN SMALL LETTER C" string(20) "LATIN SMALL LETTER H" string(20) "LATIN SMALL LETTER I" string(20) "LATIN SMALL LETTER E" string(26) "LATIN SMALL LETTER SHARP S" string(20) "LATIN SMALL LETTER E"
Output for 5.5.0 - 5.5.38, 5.6.0 - 5.6.40
Fatal error: Class 'IntlChar' not found in /in/TMmpL on line 33
Process exited with code 255.

preferences:
226.8 ms | 402 KiB | 335 Q