Запутался в echo & quot; {$ a [0] [‘download’]} & quot;

Я случайно проверил это сегодня, может кто-нибудь объяснить мне, почему это работает и что это такое?

$a = array(
array(
'download' => '1500k'
)
);

echo "Test-{$a[0]['download']}";

Выход: тест-1500к

1

Решение

двойные кавычки оценивают строку как выражение и извлекают переменную из нее и помещают вместо нее их значение. но строка в одинарных кавычках как есть.

если вы хотите больше деталей, вы можете увидеть этот ответь в ТАК.

1

Другие решения

Ваш код:

 echo "Test-{$a[0]['download']}";

такой же как:

echo "Test-".$a[0]['download'];

{} \ просто оборачивает элемент массива $a[0]['download'] в строке, чтобы поставить его значение там

0

В контексте строки в двойных кавычках переменные могут быть просто вставлены по имени, но это не работает для вставки значений массива, поэтому фигурные скобки необходимы, чтобы PHP знал, что значение массива в целом должно быть вставлено в строка.

В вашем примере, если вы удалите фигурные скобки, вы увидите, что они выдают ошибку, и это потому, что PHP не может знать, что часть [0] [‘download’] не является просто строкой. Выдает ошибку преобразования массива в строку.

Вот почему необходимы фигурные скобки.

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector