Consultez le code:Que signifie cette syntaxe PHP?
$a = "foobar";
echo $a{3}; // prints b
Je sais $a[3]
est 'b'
mais comment se fait à l'aide {}
en place de []
produec le même résultat?
Consultez le code:Que signifie cette syntaxe PHP?
$a = "foobar";
echo $a{3}; // prints b
Je sais $a[3]
est 'b'
mais comment se fait à l'aide {}
en place de []
produec le même résultat?
{} et [] sont les mêmes. c'est votre choix quoi utiliser. [] est plus commun cependant.
{} est obsolète et ne doit pas être utilisé –
C'est la même chose, mais la syntaxe {}
est obsolète depuis PHP 5.3.
Vous pouvez lire here in official documentation sur les accolades:
String s peuvent être accédées en utilisant accolades, comme dans $ str {42}, pour le même but . Cependant, cette syntaxe est désapprouvée à partir de PHP 5.3.0. Utilisez plutôt des parenthèses carrées , comme $ str [42].
EDIT Ce fil peut vous intéresser: "dropping curly braces"
Il est juste une autre syntaxe; les deux formes compilent exactement la même bytecode:
<?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
Pour votre information, les tableaux peuvent également être visualisés à '{}' au lieu de '[]'. Il était une fois, '[]' était recommandé pour les tableaux et '{}' pour les chaînes. Maintenant, '[]' est la méthode recommandée. – Artefacto