2

我有这段代码(用于从数据库中获取查询,在MyBB源中):

$query = "SELECT ".$fields." FROM {$this->table_prefix}{$table}";

我的问题是: 是什么意思{$table}{$table}$table 和(what's meaning of ) 有什么区别{}??

谢谢 ...

4

3 回答 3

4

这是在双引号内内联表达式的 PHP 语法。如果你有简单的表达式,比如变量名,你可以直接使用 $table 而不用关心 {}。

于 2010-12-30T15:17:53.587 回答
2

大括号只是将变量名称与文本的其余部分(和其他变量名称)隔离开来。通常,为了一致性起见,使用此语法;当你的变量遇到其他字母时,它有时是必要的,但许多程序员一直使用它,因此他们永远不必考虑是否有必要。

请参阅文档

于 2010-12-30T15:18:37.510 回答
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();

?>

于 2010-12-30T15:20:57.160 回答