結論:
文字列に対して2次元配列のようにアクセスするとなる。
実験結果
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 |
$a = "abc"; $a[0] = "x"; echo $a; // "xbc"になる。OK echo '<hr>'; $a = "abc"; $a[0] = "xyz"; echo $a; // "xbc"になる。OK echo '<hr>'; $a = "abc"; $a[1] = "xyz"; echo $a; // "axc"になる。OK echo '<hr>'; $a = "abc"; $a[10] = "xyz"; echo ($a); // "abc x"になるスペース(0x20)が入る echo '<hr>'; $a = "abc"; $b = $a[100]; echo $b; // 空になる echo '<hr>'; $a = "abc"; $b = $a['a']; echo $b; // "a"になる echo '<hr>'; $a = "abc"; $b = $a['c']; echo $b; // "a"になる echo '<hr>'; $a = "abc"; $b = $a['ab']; echo $b; // "a"になる echo '<hr>'; $a = "abc"; $a['a'] = "x"; echo $a; // "xbc"になる echo '<hr>'; $a = "abc"; $a['xyz'] = "x"; echo $a; // "xbc"になる echo '<hr>'; $a = "abc"; $a[0]['xyz'] = "x"; // ここでPHP Fatal error: Cannot use string offset as an arrayになる。 echo $a; echo '<hr>'; $a = "abc"; $a[0][0] = "b"; // ここでもPHP Fatal error: Cannot use string offset as an arrayになる。 echo $a; |