1--TEST-- 2Indexing - various special cases. 3--FILE-- 4<?php 5echo "*** Indexing - Testing value assignment with key ***\n"; 6$array=array(1); 7$testvalues=array(null, 0, 1, true, false,'',' ',0.1,array()); 8 9foreach ($testvalues as $testvalue) { 10 try { 11 $testvalue['foo']=$array; 12 } catch (Error $e) { 13 echo $e->getMessage(), "\n"; 14 } 15 var_dump($testvalue); 16} 17echo "\n*** Indexing - Testing reference assignment with key ***\n"; 18 19$testvalues=array(null, 0, 1, true, false,0.1,array()); 20 21foreach ($testvalues as $testvalue) { 22 try { 23 $testvalue['foo']=&$array; 24 } catch (Error $e) { 25 echo $e->getMessage(), "\n"; 26 } 27 var_dump($testvalue); 28} 29echo "*** Indexing - Testing value assignment no key ***\n"; 30$array=array(1); 31$testvalues=array(null, 0, 1, true, false,0.1,array()); 32 33foreach ($testvalues as $testvalue) { 34 try { 35 $testvalue[]=$array; 36 } catch (Error $e) { 37 echo $e->getMessage(), "\n"; 38 } 39 var_dump ($testvalue); 40} 41echo "\n*** Indexing - Testing reference assignment no key ***\n"; 42 43$testvalues=array(null, 0, 1, true, false,0.1,array()); 44 45foreach ($testvalues as $testvalue) { 46 try { 47 $testvalue[]=&$array; 48 } catch (Error $e) { 49 echo $e->getMessage(), "\n"; 50 } 51 var_dump ($testvalue); 52} 53 54?> 55--EXPECT-- 56*** Indexing - Testing value assignment with key *** 57array(1) { 58 ["foo"]=> 59 array(1) { 60 [0]=> 61 int(1) 62 } 63} 64Cannot use a scalar value as an array 65int(0) 66Cannot use a scalar value as an array 67int(1) 68Cannot use a scalar value as an array 69bool(true) 70array(1) { 71 ["foo"]=> 72 array(1) { 73 [0]=> 74 int(1) 75 } 76} 77Cannot access offset of type string on string 78string(0) "" 79Cannot access offset of type string on string 80string(1) " " 81Cannot use a scalar value as an array 82float(0.1) 83array(1) { 84 ["foo"]=> 85 array(1) { 86 [0]=> 87 int(1) 88 } 89} 90 91*** Indexing - Testing reference assignment with key *** 92array(1) { 93 ["foo"]=> 94 &array(1) { 95 [0]=> 96 int(1) 97 } 98} 99Cannot use a scalar value as an array 100int(0) 101Cannot use a scalar value as an array 102int(1) 103Cannot use a scalar value as an array 104bool(true) 105array(1) { 106 ["foo"]=> 107 &array(1) { 108 [0]=> 109 int(1) 110 } 111} 112Cannot use a scalar value as an array 113float(0.1) 114array(1) { 115 ["foo"]=> 116 &array(1) { 117 [0]=> 118 int(1) 119 } 120} 121*** Indexing - Testing value assignment no key *** 122array(1) { 123 [0]=> 124 array(1) { 125 [0]=> 126 int(1) 127 } 128} 129Cannot use a scalar value as an array 130int(0) 131Cannot use a scalar value as an array 132int(1) 133Cannot use a scalar value as an array 134bool(true) 135array(1) { 136 [0]=> 137 array(1) { 138 [0]=> 139 int(1) 140 } 141} 142Cannot use a scalar value as an array 143float(0.1) 144array(1) { 145 [0]=> 146 array(1) { 147 [0]=> 148 int(1) 149 } 150} 151 152*** Indexing - Testing reference assignment no key *** 153array(1) { 154 [0]=> 155 &array(1) { 156 [0]=> 157 int(1) 158 } 159} 160Cannot use a scalar value as an array 161int(0) 162Cannot use a scalar value as an array 163int(1) 164Cannot use a scalar value as an array 165bool(true) 166array(1) { 167 [0]=> 168 &array(1) { 169 [0]=> 170 int(1) 171 } 172} 173Cannot use a scalar value as an array 174float(0.1) 175array(1) { 176 [0]=> 177 &array(1) { 178 [0]=> 179 int(1) 180 } 181} 182