Рассмотрим код:Что означает синтаксис этого PHP?
$a = "foobar";
echo $a{3}; // prints b
Я знаю $a[3]
это 'b'
, но как же с помощью {}
вместо []
produec тот же результат?
Рассмотрим код:Что означает синтаксис этого PHP?
$a = "foobar";
echo $a{3}; // prints b
Я знаю $a[3]
это 'b'
, но как же с помощью {}
вместо []
produec тот же результат?
{} и [] - то же самое. это ваш выбор, что использовать. [] чаще встречается.
{} устарел и не должен использоваться –
Это то же самое, но синтаксис {}
устарел с PHP 5.3.
Вы можете прочитать here in official documentation о скобах:
Строка s также можно получить доступ с помощью брекетов, как и в $ ул {42}, для тех же целей . Однако этот синтаксис устарел с PHP 5.3.0. Вместо этого используйте квадратные скобки , например $ str [42].
EDIT Эта нить может вас заинтересовать: "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
FYI, массивы также могут быть доступны с помощью '' {} вместо '[]'. Когда-то время '[]' было рекомендовано для массивов и '{}' для строки. Теперь '[]' является рекомендуемым способом. – Artefacto