File: string_offset.phpt

package info (click to toggle)
php8.4 8.4.11-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 208,108 kB
  • sloc: ansic: 1,060,628; php: 35,345; sh: 11,866; cpp: 7,201; pascal: 4,913; javascript: 3,091; asm: 2,810; yacc: 2,411; makefile: 689; xml: 446; python: 301; awk: 148
file content (72 lines) | stat: -rw-r--r-- 1,425 bytes parent folder | download | duplicates (3)
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