2

私はこのコードを持っています(MyBBソースのデータベースからクエリを取得するため):

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

私の質問は:の意味は何{$table}ですか?{$table}$ tableと(の意味は何ですか)の違いは何{}ですか?

ありがとうございました ...

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 に答える