xref: /PHP-7.1/Zend/tests/str_offset_004.phpt (revision 370b7039)
1--TEST--
2string offset 004
3--FILE--
4<?php
5// Test assignments using (positive and negative) string offsets
6
7$str = "abcdefghijklmno";
8$i = 3;
9$j = -4;
10
11$str{2} = 'C';
12var_dump($str);
13
14$str{$i} = 'Z';
15var_dump($str);
16
17$str{-5} = 'P';
18var_dump($str);
19
20$str{$j} = 'Q';
21var_dump($str);
22
23$str{-20} = 'Y';
24var_dump($str);
25
26$str{-strlen($str)} = strtoupper($str{0}); /* An exotic ucfirst() ;) */
27var_dump($str);
28
29$str{20} = 'N';
30var_dump($str);
31
32$str{-2} = 'UFO';
33var_dump($str);
34
35$str{-$i} = $str{$j*2};
36var_dump($str);
37?>
38--EXPECTF--
39string(15) "abCdefghijklmno"
40string(15) "abCZefghijklmno"
41string(15) "abCZefghijPlmno"
42string(15) "abCZefghijPQmno"
43
44Warning: Illegal string offset:  -20 in %sstr_offset_004.php on line %d
45string(15) "abCZefghijPQmno"
46string(15) "AbCZefghijPQmno"
47string(21) "AbCZefghijPQmno     N"
48string(21) "AbCZefghijPQmno    UN"
49string(21) "AbCZefghijPQmno   nUN"
50