我有这段代码(用于从MyBB源中的数据库获取查询):
$query = "SELECT ".$fields." FROM {$this->table_prefix}{$table}";
我的问题是:{$table}
的含义是什么? $ table和{$table}
之间有什么区别({}
的意思是什么?)
谢谢...
答案 0 :(得分:4)
这是用双引号内联表达式的PHP语法。如果你有简单的表达式,比如变量名,你就可以使用$ table而不用担心{}。
答案 1 :(得分:2)
大括号只是将变量名称与文本的其余部分(以及其他变量名称)隔离开来。通常,此语法用于一致性;当你有变量遇到其他字母时有时是必要的,但许多程序员总是使用它,所以他们永远不必考虑是否有必要。
答案 2 :(得分:0)
$query = "SELECT ".$fields." FROM {$this->table_prefix}{$table}";
将执行与
相同的操作$query = "SELECT ".$fields." FROM $this->table_prefix$table";
在字符串中使用变量时,使用花括号是可读代码的好习惯(特别是那些没有语法高亮/色盲的人)。
样品:
<?php
class simple
{
function __construct()
{
$this->table_prefix = "blablabla";
}
function doSomething()
{
$fields = "1,2,3";
$table = "MyTable";
$query = "SELECT ".$fields." FROM $this->table_prefix$table";
return $query;
}
}
$a = new simple();
print $a->doSomething();
?>
TA