PHP $ string {0}与$ string [0];

32 php string

在PHP中,您可以通过几种不同的方式访问字符串的字符,其中一种是substr().您还可以使用大括号或方括号访问字符串中的第N个字符,如下所示:

$string = 'hello';

echo $string{0}; // h
echo $string[0]; // h
Run Code Online (Sandbox Code Playgroud)

我的问题是,是否有一方面的好处?{}和[]有什么区别?

谢谢.

Owe*_*wen 40

使用$string[0],其他方法(大括号)在PHP6(src)中被弃用

注意:为了相同的目的,也可以使用大括号访问字符串,如$ str {42}.但是,从PHP 6开始,不推荐使用此语法.请改用方括号.

  • 为了将来的参考,我想要注意的是,关于卷曲语法被弃用的关系已经从3年前的文档中删除了,这意味着它不会很快被弃用,如果有的话. (13认同)
  • @Owen:PHP也使用`{}`进行数组访问.它总是这样.(只是说) (7认同)

Pac*_*ier 19

没有区别.Owen的答案已经过时,最新版本的PHP手册不再声明它已被弃用 §:

通过使用方形数组括号指定字符串后所需字符的从零开始的偏移量,可以访问和修改字符串中的字符,如$str[42].将字符串视为用于此目的的字符数组.[...]

注意:为了相同的目的$str{42},也可以使用大括号访问字符串,如同.

然而,似乎更多人/项目使用[],并且许多人甚至不知道{}是否可能.如果您需要公开或与不知道大括号语法的人共享您的代码,那么使用它可能是有益的[].