1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
--TEST--
Using different sorts of numerical strings as a string offset
--FILE--
<?php
$str = "The world is fun";
$keys = [
"7",
"7.5",
" 7",
" 7.5",
" 7 ",
" 7.5 ",
"7 ",
"7.5 ",
"7str",
"7.5str",
" 7str",
" 7.5str",
" 7 str",
" 7.5 str",
"7 str",
"7.5 str",
"0xC",
"0b10",
"07",
];
foreach ($keys as $key) {
try {
var_dump($str[$key]);
} catch (\TypeError $e) {
echo $e->getMessage() . \PHP_EOL;
}
}
echo "Done\n";
?>
--EXPECTF--
string(1) "l"
Cannot access offset of type string on string
string(1) "l"
Cannot access offset of type string on string
string(1) "l"
Cannot access offset of type string on string
string(1) "l"
Cannot access offset of type string on string
Warning: Illegal string offset "7str" in %s on line %d
string(1) "l"
Cannot access offset of type string on string
Warning: Illegal string offset " 7str" in %s on line %d
string(1) "l"
Cannot access offset of type string on string
Warning: Illegal string offset " 7 str" in %s on line %d
string(1) "l"
Cannot access offset of type string on string
Warning: Illegal string offset "7 str" in %s on line %d
string(1) "l"
Cannot access offset of type string on string
Warning: Illegal string offset "0xC" in %s on line %d
string(1) "T"
Warning: Illegal string offset "0b10" in %s on line %d
string(1) "T"
string(1) "l"
Done
|