3v4l.org

run code in 200+ php & hhvm versions
<?php $x = 'yo'; for( $i = 0; $i <= 3; $i++ ) { echo "substr( '$x', $i ) is: ", var_export(substr( $x, $i ),true), "\n"; } echo "\n\n"; $x = ''; echo "substr( '$x', 0 ) is: ", var_export(substr( $x, 0 ),true), "\n"; echo "substr( '$x', 1 ) is: ", var_export(substr( $x, 1 ),true), "\n";
Output for hhvm-3.15.4 - 3.22.0, 7.0.0 - 7.3.5
substr( 'yo', 0 ) is: 'yo' substr( 'yo', 1 ) is: 'o' substr( 'yo', 2 ) is: '' substr( 'yo', 3 ) is: false substr( '', 0 ) is: '' substr( '', 1 ) is: false
Output for 4.3.0 - 5.6.40, hhvm-3.10.1 - 3.13.2
substr( 'yo', 0 ) is: 'yo' substr( 'yo', 1 ) is: 'o' substr( 'yo', 2 ) is: false substr( 'yo', 3 ) is: false substr( '', 0 ) is: false substr( '', 1 ) is: false