PHP фигурная скобка, что означает в этом коде - PullRequest
2 голосов
/ 30 декабря 2010

У меня есть этот код (для получения запроса из базы данных, в MyBB source):

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

Мой вопрос: что означает {$table}? и какая разница между $ table и {$table} (что означает {}) ??

Спасибо ...

Ответы [ 3 ]

4 голосов
/ 30 декабря 2010

Это синтаксис PHP для встраивания выражений в двойные кавычки.Если у вас есть простые выражения, такие как имя переменной, вы можете просто использовать $ table, не беспокоясь о {}.

2 голосов
/ 30 декабря 2010

Скобки просто отделяют имена переменных от остальной части текста (и других имен переменных). Как правило, этот синтаксис используется для согласованности; иногда это необходимо, когда у вас есть переменные, которые встречаются с другими буквами, но многие программисты используют его постоянно, чтобы им никогда не приходилось думать о том, нужно ли это.

См. документацию .

0 голосов
/ 30 декабря 2010
$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

...