2017-09-05 120 views
-1

如果我将$ cat_id用{}包裹在[href]属性值中,是否可以?或者我应该,首先?还是仅仅因为它不是一个字符串? - 因此,我们可以选择做或不做...使用大括号包装PHP变量

echo "<li><a href='category.php?cat=$cat_id'>{$cat_title}</a></li>"; 

虽然,这是事情......代码工作得很好。我只是想学习何时用大括号包装PHP变量,何时不包含,何时嵌入其他语言。

+1

阅读[PHP字符串](http://php.net/language.types.string)。在大括号中包含变量不是必需的,但有时需要消除[变量解析]的歧义(http://php.net/manual/en/language.types.string.php#language.types.string.parsing)在[双引号](http://php.net/manual/en/language.types.string.php#language.types.string.syntax.double)中使用[heredoc语法](http:/ /php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc)。大括号在单引号和“nowdoc”字符串中没有任何特殊含义。 – axiac

+0

我会的。谢谢。 – Sky7ure

回答

1

如果我将$ cat_id用{}包裹在[href]属性值中,是否可以?

它与HTML标签无关。 PHP不关心它是否为HTML,XML,有效或无效。所有它关心它是有效的字符串 - 它是,所以是的。在那里使用{}是完全正确的。

Docs say

如果遇到美元符号($),解析器会贪婪地取为 太多令牌,尽可能形成一个有效的变量名。 在花括号中包含 变量名称以显式指定名称的末尾 名称。

这正是你在做什么。

+0

注意。非常感谢你。 – Sky7ure