在PHP中使用heredoc有什么好处,你能举个例子吗?
heredoc 语法对我来说更简洁,它对于多行字符串和避免引用问题非常有用。过去我曾经使用它们来构建 SQL 查询:
$sql = <<<SQL select * from $tablename where id in [$order_ids_list] and product_name = "widgets" SQL;
对我来说,这比使用引号引入语法错误的可能性更低:
$sql = " select * from $tablename where id in [$order_ids_list] and product_name = \"widgets\" ";
另一点是避免在字符串中转义双引号:
$x = "The point of the \"argument" was to illustrate the use of here documents";
上面的问题是我刚刚介绍的语法错误(缺少转义引号),而不是这里的文档语法:
$x = <<<EOF The point of the "argument" was to illustrate the use of here documents EOF;
这有点风格,但我使用以下规则作为单、双和此处定义字符串的文档:
'no variables here'
"Today is ${user}'s birthday"