我有这段代码(用于从数据库中获取查询,在MyBB源中):
$query = "SELECT ".$fields." FROM {$this->table_prefix}{$table}";
我的问题是: 是什么意思{$table}
?{$table}
$table 和(what's meaning of ) 有什么区别{}
??
谢谢 ...
这是在双引号内内联表达式的 PHP 语法。如果你有简单的表达式,比如变量名,你可以直接使用 $table 而不用关心 {}。
大括号只是将变量名称与文本的其余部分(和其他变量名称)隔离开来。通常,为了一致性起见,使用此语法;当你的变量遇到其他字母时,它有时是必要的,但许多程序员一直使用它,因此他们永远不必考虑是否有必要。
请参阅文档。
$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();
?>
塔