2016-08-31 2 views
1

Простой вопрос для профи. Существует код, с которым мы получаем доступ к значению массива:Интерполяция массивов в php

foreach($basket as $k=>$v) 
echo "{$v[0]['title']} <br>"; 



it prints to browser: 
book 1 
book 2 
etc... 

и теперь, если мы удаляем скобки, такие как это:

echo "$v[0]['title'] <br>"; 

он печатает:

array['title'] 
array['title'] 
etc... 

поэтому интерпретатор «видит» $v[0], и это массив да. но он не может получить доступ к ['title'].

PLZ сказать новичкам, почему это происходит? Я знаю, что фигурные скобки интерполируют переменные в случаях, когда вокруг есть несколько букв. Но здесь нет писем.

ответ

2

Это потому, что echo первая рассматривает $v[0] как переменную, а затем выводит его STRING значение, которое массив, а затем ['title'] получает интерпретируется как простая текстовая строка.

+0

Для добавления: Интерполяция «помогает» PHP знать, какие части он должен интерполировать. В вашем первом примере вы делаете все правильно, вы «показываете» PHP, что весь массив/вспомогательный массив должен быть интерполирован. –

Смежные вопросы