我正在尝试将包含变量的字符串保存到另一个变量
$bg-color = '#aaa';
$bg_style = 'background: {$block_bg_color_top};';
<div class="block" style="<?php echo $bg_style; ?>">
</div>
我正在尝试回复样式标记中的代码。
<div class="block" style="background: #aaa;">
</div>
答案 0 :(得分:2)
您正在尝试评估background: ...
字符串中的变量。但是单引号内的变量不会被评估;他们必须用双引号。此外,在此上下文中您不需要{
和}
。像这样更改你的代码:
$bg_style = "background: $block_bg_color_top;";
你也可以$bg_style = 'background: ' . $block_bg_color_top . ';';
。在这种情况下,这两个陈述是等价的。
我假设你在某处设置$block_bg_color_top
;它不在您发布的代码中。您尝试定义另一个变量$block-bg
,但这不是有效的变量名称,如下所述。
这不是答案的严格部分,但请注意您的代码中也存在语法错误。此行将导致错误:
$bg-color = '#aaa';
您将收到错误:
PHP Parse错误:语法错误,在...中意外'='
这是因为$bg-color
不是有效的变量名;它向解析器看起来就像你从color
中减去$bg
,但你无法分配表达式的结果,就像你不能做$x - 5 = 7;
一样。
答案 1 :(得分:0)
您要做的是以下内容:
$bg-color = '#aaa';
$bg-style = 'background: '.$bg-color;
<div class="block" style="<?php echo $bg_style; ?>">
</div>
答案 2 :(得分:0)
我认为这就是你想要的:
$bg_color = '#aaa';
$bg_style = 'background: ' . $bg_color . ';';