我构建了以下内容 -
`$format_$game_$name_$season`
4个带下划线的变量。这应该有效,还是作为一个变量?
THANKYOU
答案 0 :(得分:3)
快速测试表明,由于我无法理解的原因,你的插值将无法按预期工作。
<?php
$xa = 'x';
$xb = 'y';
$xc = 'z';
echo "$xa_$xb_$xc";
?>
PHP 5.3中上述脚本的输出为z
,因为它显示的是$xa_
(空的),$xb_
(空的)和$xc
(z
)。
但是,如果使用大括号进行插值,则应获得所需的输出。
<?php
$xa = 'x';
$xb = 'y';
$xc = 'z';
echo "${xa}_${xb}_${xc}";
?>
PHP 5.3中上述脚本的输出正如预期的那样x_y_z
。
答案 1 :(得分:2)
使用反引号(``
)分隔符,您的变量将为空。
使用单引号('
),它将按字面解释。
使用双引号("
),您应该获得变量插值(在大多数情况下,期望您的问题中描述的情况)。您也可以使用大括号来提高可读性,以及在没有大括号的情况下使用大括号,即{$var['key']}
。
答案 2 :(得分:2)
不会工作,但不是因为它会充当一个变量。
首先,您需要使用双引号。反引号根本不会解释,变量不会在单引号字符串中扩展。进一步阅读:String Parsing。
此外,当双引词时,它将被解释为$format_ . $game_ . $name_ . $season
。也就是说,PHP会认为三个第一个变量以下划线结尾。您必须执行$format . '_' . $game . '_' . $name . '_' . $season
或"{$format}_{$game}_{$name}_{$season}"
。
答案 3 :(得分:1)
这应该起作用,还是起作用 一个变量?
不会,不。
1)您应该使用PDO进行数据库访问(我需要这样说!)
解决这个问题:
2)反引号为execution operators
3)变量可以用大括号括起来:"{$format}_{$game}_{$name}_{$season}"
4)有些数据库使用下划线作为特殊字符,因此可能需要进行转义