3v4l.org

run code in 300+ PHP versions simultaneously
<?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 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
substr( 'yo', 0 ) is: 'yo' substr( 'yo', 1 ) is: 'o' substr( 'yo', 2 ) is: '' substr( 'yo', 3 ) is: '' substr( '', 0 ) is: '' substr( '', 1 ) is: ''
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.33, 7.4.0 - 7.4.33
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 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 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.0 - 5.5.38, 5.6.0 - 5.6.40
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

preferences:
278.34 ms | 404 KiB | 454 Q