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 $testvalue['foo']=$array; 11 var_dump ($testvalue); 12} 13echo "\n*** Indexing - Testing reference assignment with key ***\n"; 14 15$testvalues=array(null, 0, 1, true, false,'',0.1,array()); 16 17foreach ($testvalues as $testvalue) { 18 $testvalue['foo']=&$array; 19 var_dump ($testvalue); 20} 21echo "*** Indexing - Testing value assignment no key ***\n"; 22$array=array(1); 23$testvalues=array(null, 0, 1, true, false,'',0.1,array()); 24 25foreach ($testvalues as $testvalue) { 26 $testvalue[]=$array; 27 var_dump ($testvalue); 28} 29echo "\n*** Indexing - Testing reference assignment no key ***\n"; 30 31$testvalues=array(null, 0, 1, true, false,'',0.1,array()); 32 33foreach ($testvalues as $testvalue) { 34 $testvalue[]=&$array; 35 var_dump ($testvalue); 36} 37 38 39echo "\nDone"; 40?> 41--EXPECTF-- 42*** Indexing - Testing value assignment with key *** 43array(1) { 44 ["foo"]=> 45 array(1) { 46 [0]=> 47 int(1) 48 } 49} 50 51Warning: Cannot use a scalar value as an array in %s on line %d 52int(0) 53 54Warning: Cannot use a scalar value as an array in %s on line %d 55int(1) 56 57Warning: Cannot use a scalar value as an array in %s on line %d 58bool(true) 59array(1) { 60 ["foo"]=> 61 array(1) { 62 [0]=> 63 int(1) 64 } 65} 66array(1) { 67 ["foo"]=> 68 array(1) { 69 [0]=> 70 int(1) 71 } 72} 73 74Notice: Array to string conversion in %s on line %d 75string(1) "A" 76 77Warning: Cannot use a scalar value as an array in %s on line %d 78float(0.1) 79array(1) { 80 ["foo"]=> 81 array(1) { 82 [0]=> 83 int(1) 84 } 85} 86 87*** Indexing - Testing reference assignment with key *** 88array(1) { 89 ["foo"]=> 90 &array(1) { 91 [0]=> 92 int(1) 93 } 94} 95 96Warning: Cannot use a scalar value as an array in %s on line %d 97int(0) 98 99Warning: Cannot use a scalar value as an array in %s on line %d 100int(1) 101 102Warning: Cannot use a scalar value as an array in %s on line %d 103bool(true) 104array(1) { 105 ["foo"]=> 106 &array(1) { 107 [0]=> 108 int(1) 109 } 110} 111array(1) { 112 ["foo"]=> 113 &array(1) { 114 [0]=> 115 int(1) 116 } 117} 118 119Warning: Cannot use a scalar value as an array in %s on line %d 120float(0.1) 121array(1) { 122 ["foo"]=> 123 &array(1) { 124 [0]=> 125 int(1) 126 } 127} 128*** Indexing - Testing value assignment no key *** 129array(1) { 130 [0]=> 131 array(1) { 132 [0]=> 133 int(1) 134 } 135} 136 137Warning: Cannot use a scalar value as an array in %s on line %d 138int(0) 139 140Warning: Cannot use a scalar value as an array in %s on line %d 141int(1) 142 143Warning: Cannot use a scalar value as an array in %s on line %d 144bool(true) 145array(1) { 146 [0]=> 147 array(1) { 148 [0]=> 149 int(1) 150 } 151} 152array(1) { 153 [0]=> 154 array(1) { 155 [0]=> 156 int(1) 157 } 158} 159 160Warning: Cannot use a scalar value as an array in %s on line %d 161float(0.1) 162array(1) { 163 [0]=> 164 array(1) { 165 [0]=> 166 int(1) 167 } 168} 169 170*** Indexing - Testing reference assignment no key *** 171array(1) { 172 [0]=> 173 &array(1) { 174 [0]=> 175 int(1) 176 } 177} 178 179Warning: Cannot use a scalar value as an array in %s on line %d 180int(0) 181 182Warning: Cannot use a scalar value as an array in %s on line %d 183int(1) 184 185Warning: Cannot use a scalar value as an array in %s on line %d 186bool(true) 187array(1) { 188 [0]=> 189 &array(1) { 190 [0]=> 191 int(1) 192 } 193} 194array(1) { 195 [0]=> 196 &array(1) { 197 [0]=> 198 int(1) 199 } 200} 201 202Warning: Cannot use a scalar value as an array in %s on line %d 203float(0.1) 204array(1) { 205 [0]=> 206 &array(1) { 207 [0]=> 208 int(1) 209 } 210} 211 212Done