3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $c = 'déjà'; var_dump('jà' === grapheme_substr($c, -2, 3)); var_dump("" === grapheme_substr($c, -1, 0) ); var_dump(false === grapheme_substr($c, 1, -4) ); var_dump('à' === grapheme_substr('éà', 1, -2));
based on m61r5
Output for 5.4.18 - 5.5.28, 5.5.31 - 5.5.33, 5.5.35 - 5.6.12, 5.6.16 - 5.6.19, 5.6.21 - 7.0.4, 7.0.6 - 7.2.0
bool(true) bool(true) bool(true) bool(false)
Output for 7.0.5
Fatal error: Uncaught Error: Call to undefined function grapheme_substr() in /in/ajiVL:4 Stack trace: #0 {main} thrown in /in/ajiVL on line 4
Process exited with code 255.
Output for 5.0.0 - 5.3.29, 5.5.29 - 5.5.30, 5.5.34, 5.6.13 - 5.6.15, 5.6.20
Fatal error: Call to undefined function grapheme_substr() in /in/ajiVL on line 4
Process exited with code 255.
Output for 5.4.0 - 5.4.17
bool(true) bool(false) bool(false) bool(true)
Output for 4.4.5 - 4.4.9
Fatal error: Call to undefined function: grapheme_substr() in /in/ajiVL on line 4
Process exited with code 255.
Output for 4.3.2 - 4.4.4
Fatal error: Call to undefined function: grapheme_substr() in /in/ajiVL on line 4
Process exited with code 255.
Output for 4.3.0 - 4.3.1
Fatal error: Call to undefined function: grapheme_substr() in /in/ajiVL on line 4