Considere el código:¿Qué significa esta sintaxis de PHP?
$a = "foobar";
echo $a{3}; // prints b
Sé $a[3]
es 'b'
pero ¿cómo es que el uso de {}
en lugar de []
produec el mismo resultado?
Considere el código:¿Qué significa esta sintaxis de PHP?
$a = "foobar";
echo $a{3}; // prints b
Sé $a[3]
es 'b'
pero ¿cómo es que el uso de {}
en lugar de []
produec el mismo resultado?
{} y [] son lo mismo. es tu elección qué usar. [] es más común sin embargo.
{} está en desuso, y no debe usarse –
Es lo mismo, pero la sintaxis {}
está en desuso a partir de PHP 5.3.
Usted puede leer acerca de los apoyos here in official documentation:
cadena s también se puede acceder usando llaves, como en $ str {42}, para la misma finalidad . Sin embargo, esta sintaxis es obsoleta a partir de PHP 5.3.0. Use corchetes cuadrados en su lugar, como $ str [42].
EDITAR Este hilo puede interesar: "dropping curly braces"
Es sólo una sintaxis alternativa; las dos formas compilan a exactamente el mismo código de bytes:
<?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
FYI, las matrices también se puede acceder con '{}' en lugar de '[] '. Érase una vez, se recomendaba '[]' para arrays y '{}' para string. Ahora, '[]' es el camino recomendado para seguir. – Artefacto