从字符串内部引用关联数组


Reference an associative array from inside a string?

"CREATE TABLE IF NOT EXISTS $tables[users]";

工作但. .

"CREATE TABLE IF NOT EXISTS $tables['users']";

我不想这样做

$usersTable = $tables['users'];
"CREATE TABLE IF NOT EXISTS $usersTable";

我听说从关联数组中引用一个没有引号的键被认为是不好的做法。这是真的吗?还是我的第一种方法更受欢迎?

可以使用大括号:

"CREATE TABLE IF NOT EXISTS {$tables['users']}";

或通过连接:

'CREATE TABLE IF NOT EXISTS ' . $tables['users'];

您可以这样做:

$query = sprintf("CREATE TABLE IF NOT EXISTS %s", $tables['users']);
// do some other stuff

可以使用大括号

"CREATE TABLE IF NOT EXISTS {$tables['users']}";