1--TEST-- 2Various null return conditions of dim/obj assignments 3--FILE-- 4<?php 5 6function test() { 7 $array = [PHP_INT_MAX => 42]; 8 $true = true; 9 10 try { 11 var_dump($array[] = 123); 12 } catch (Error $e) { 13 echo $e->getMessage(), "\n"; 14 } 15 16 try { 17 var_dump($array[[]] = 123); 18 } catch (Error $e) { 19 echo $e->getMessage(), "\n"; 20 } 21 22 try { 23 var_dump($array[new stdClass] = 123); 24 } catch (Error $e) { 25 echo $e->getMessage(), "\n"; 26 } 27 28 try { 29 var_dump($true[123] = 456); 30 } catch (Error $e) { 31 echo $e->getMessage(), "\n"; 32 } 33 34 try { 35 var_dump($array[] += 123); 36 } catch (Error $e) { 37 echo $e->getMessage(), "\n"; 38 } 39 40 try { 41 var_dump($array[[]] += 123); 42 } catch (Error $e) { 43 echo $e->getMessage(), "\n"; 44 } 45 46 try { 47 var_dump($array[new stdClass] += 123); 48 } catch (Error $e) { 49 echo $e->getMessage(), "\n"; 50 } 51 52 try { 53 var_dump($true[123] += 456); 54 } catch (Error $e) { 55 echo $e->getMessage(), "\n"; 56 } 57 58 try { 59 var_dump($true->foo = 123); 60 } catch (Error $e) { 61 echo $e->getMessage(), "\n"; 62 } 63 try { 64 var_dump($true->foo += 123); 65 } catch (Error $e) { 66 echo $e->getMessage(), "\n"; 67 } 68} 69 70test(); 71 72?> 73--EXPECT-- 74Cannot add element to the array as the next element is already occupied 75Cannot access offset of type array on array 76Cannot access offset of type stdClass on array 77Cannot use a scalar value as an array 78Cannot add element to the array as the next element is already occupied 79Cannot access offset of type array on array 80Cannot access offset of type stdClass on array 81Cannot use a scalar value as an array 82Attempt to assign property "foo" on true 83Attempt to assign property "foo" on true 84