File: string_offset_as_object.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 (63 lines) | stat: -rw-r--r-- 1,190 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
--TEST--
Using string offset as object
--FILE--
<?php

$str = "x";
try {
    $str[0]->bar = "xyz";
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}
try {
    $str[0]->bar[1] = "bang";
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}
try {
    $str[0]->bar += 1;
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}
try {
    $str[0]->bar = &$b;
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}
try {
    ++$str[0]->bar;
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}
try {
    --$str[0]->bar;
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}
try {
    $str[0]->bar++;
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}
try {
    $str[0]->bar--;
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}
try {
    unset($str[0]->bar);
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}

?>
--EXPECT--
Cannot use string offset as an object
Cannot use string offset as an object
Cannot use string offset as an object
Cannot use string offset as an object
Cannot use string offset as an object
Cannot use string offset as an object
Cannot use string offset as an object
Cannot use string offset as an object
Cannot use string offset as an object