考虑代码:
$a = "foobar";
echo $a{3}; // prints b
我知道$a[3]
是'b'
但是如何使用{}
代替[]
生成相同的结果?
答案 0 :(得分:10)
您可以阅读有关大括号的here in official documentation:
也可以使用。访问字符串 大括号,就像$ str {42}一样 目的。但是,这种语法是 自PHP 5.3.0起已弃用。使用方块 而是括号,例如$ str [42]。
答案 1 :(得分:6)
编辑此主题可能会让您感兴趣:"dropping curly braces"
这只是一种替代语法;这两个表单编译为完全相同的字节码:
<?php
$str = "aaab";
echo $str{3};
echo $str[3];
number of ops: 9 compiled vars: !0 = $str line # * op fetch ext return operands --------------------------------------------------------------------------------- 2 0 > EXT_STMT 1 ASSIGN !0, 'aaab' 3 2 EXT_STMT 3 FETCH_DIM_R $1 !0, 3 4 ECHO $1 4 5 EXT_STMT 6 FETCH_DIM_R $2 !0, 3 7 ECHO $2 8 > RETURN 1
答案 2 :(得分:5)
它是相同的,但自PHP 5.3起不推荐使用{}
语法。
答案 3 :(得分:0)
{}和[]是一样的。它是您的选择使用方法。 []更常见。