这个PHP语法是什么意思?

时间:2010-07-08 12:07:03

标签: php syntax

考虑代码:

$a = "foobar";
echo $a{3}; // prints b

我知道$a[3]'b'但是如何使用{}代替[]生成相同的结果?

4 个答案:

答案 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)

{}和[]是一样的。它是您的选择使用方法。 []更常见。