Я некоторое время боролся с какой-то странной вещью о php.
Кажется, что он не может отобразить некоторую строку и многомерный элемент массива, используя одну строку кода.
Например, у нас есть простой трехмерный массив:
$ARRAY = array('first' => array(array('Hello, World!')));
Теперь, если я хочу отобразить некоторую строку и этот элемент третьего уровня, мне нужно будет сделать что-то вроде этого:
$a = $ARRAY['first'][0][0]; echo"Some string: $a";
Или это:
echo"Some string: "; echo($ARRAY['first'][0][0]);
Так есть ли способ сделать это только в одной строке кода? Спасибо!
echo "Some string: {$ARRAY['first'][0][0]}";
Читайте больше на PHP.Net.
Сложный (фигурный) синтаксис
Это не называется сложным, потому что синтаксис является сложным, а потому, что он позволяет использовать сложные выражения.
С помощью этого синтаксиса можно включить любую скалярную переменную, элемент массива или свойство объекта со строковым представлением. Просто напишите выражение так же, как оно появится вне строки, а затем оберните его в {и}. Поскольку {не может быть экранирован, этот синтаксис будет распознаваться только тогда, когда $ немедленно следует за символом {. Используйте {\ $ для получения литерала {$. Некоторые примеры, чтобы дать понять:
Использовать конкатенацию :
echo "Some string: " . $ARRAY['first'][0][0]);
или
echo "Some string: ", $ARRAY['first'][0][0]);
echo "Some string: {$ARRAY['first'][0][0]}";