3v4l.org

run code in 500+ PHP versions simultaneously
<?php $arr = null; echo "Should throw a notice when trying to access an element in a non-array data type \n"; $should_throw_notice = 'foo' === $arr['key']; echo "\n=======\n\n"; echo "Should NOT throw a notice when setting an element in a non-array data type. PHP should type juggle from `null` to `array`.\n\n"; $arr['key'] = 'foo'; var_dump( $arr );
Output for 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
Should throw a notice when trying to access an element in a non-array data type Warning: Trying to access array offset on null in /in/m1QUYX on line 6 ======= Should NOT throw a notice when setting an element in a non-array data type. PHP should type juggle from `null` to `array`. array(1) { ["key"]=> string(3) "foo" }
Output for 8.1.23 - 8.1.34, 8.2.10 - 8.2.30
Should throw a notice when trying to access an element in a non-array data type Warning: Trying to access array offset on value of type null in /in/m1QUYX on line 6 ======= Should NOT throw a notice when setting an element in a non-array data type. PHP should type juggle from `null` to `array`. array(1) { ["key"]=> string(3) "foo" }
Output for 7.4.33
Should throw a notice when trying to access an element in a non-array data type Notice: Trying to access array offset on value of type null in /in/m1QUYX on line 6 ======= Should NOT throw a notice when setting an element in a non-array data type. PHP should type juggle from `null` to `array`. array(1) { ["key"]=> string(3) "foo" }

preferences:
41.05 ms | 876 KiB | 4 Q