<?php
const DATA_KEY = 'const-key';
$great = 'fantastic';
$arr = [
'1',
'2',
'3',
[41, 42, 43],
'key' => 'Indexed value',
'const-key' => 'Key with minus sign',
'foo' => ['foo1', 'foo2', 'foo3']
];
// 无效,输出 This is { fantastic}
echo "This is { $great}";
// 有效,输出 This is fantastic
echo "This is {$great}";
class Square {
public $width;
public function __construct(int $width) { $this->width = $width; }
}
$square = new Square(5);
// 有效
echo "This square is {$square->width}00 centimeters wide.";
// 有效,引用 key 仅使用花括号语法时有效
echo "This works: {$arr['key']}";
// 有效
echo "This works: {$arr[3][2]}";
echo "This works: {$arr[DATA_KEY]}";
// 使用多维数组时,在字符串内部时,始终使用括号括住数组
echo "This works: {$arr['foo'][2]}";
echo "This works: {$obj->values[3]->name}";
echo "This works: {$obj->$staticProp}";
// 无效,输出 C:\directory\{fantastic}.txt
echo "C:\directory\{$great}.txt";
// 有效,输出 C:\directory\fantastic.txt
echo "C:\\directory\\{$great}.txt";
?>