File tree Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -1936,6 +1936,9 @@ static uint32_t assign_dim_array_result_type(
1936
1936
value_type |= MAY_BE_NULL ;
1937
1937
}
1938
1938
if (dim_op_type == IS_UNUSED ) {
1939
+ if (arr_type & (MAY_BE_UNDEF |MAY_BE_NULL |MAY_BE_FALSE )) {
1940
+ tmp |= MAY_BE_ARRAY_PACKED ;
1941
+ }
1939
1942
tmp |= MAY_BE_HASH_ONLY (arr_type ) ? MAY_BE_ARRAY_NUMERIC_HASH : MAY_BE_ARRAY_KEY_LONG ;
1940
1943
} else {
1941
1944
if (dim_type & (MAY_BE_LONG |MAY_BE_FALSE |MAY_BE_TRUE |MAY_BE_RESOURCE |MAY_BE_DOUBLE )) {
Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ Type inference 013: ASSIGN_DIM
3
+ --INI--
4
+ opcache.enable=1
5
+ opcache.enable_cli=1
6
+ opcache.optimization_level=-1
7
+ --FILE--
8
+ <?php
9
+ function y (){
10
+ for (;;){
11
+ $ x [] &= y;
12
+ $ x = false ;
13
+ $ x ["" ] = y;
14
+ }
15
+ }
16
+ ?>
17
+ DONE
18
+ --EXPECT--
19
+ DONE
You can’t perform that action at this time.
0 commit comments