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('TURKEY') as $cp) var_dump(\IntlChar::charName(\IntlChar::foldCase($cp))); ?>
Output for 8.0.14 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
Warning: iconv(): Wrong encoding, conversion from "utf-8" to "utf-32be" is not allowed in /in/IuCac 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/IuCac:14 Stack trace: #0 /in/IuCac(33): code_point_iterator('TURKEY') #1 {main} thrown in /in/IuCac 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/IuCac:33 Stack trace: #0 /in/IuCac(33): IntlChar::foldCase(84) #1 {main} thrown in /in/IuCac 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/IuCac 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 T" string(20) "LATIN SMALL LETTER U" string(20) "LATIN SMALL LETTER R" string(20) "LATIN SMALL LETTER K" string(20) "LATIN SMALL LETTER E" string(20) "LATIN SMALL LETTER Y"
Output for 5.5.0 - 5.5.38, 5.6.0 - 5.6.40
Fatal error: Class 'IntlChar' not found in /in/IuCac on line 33
Process exited with code 255.

preferences:
241.06 ms | 401 KiB | 331 Q