Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php-字符串中的变量_Php_Variables - Fatal编程技术网

php-字符串中的变量

php-字符串中的变量,php,variables,Php,Variables,我正在尝试将包含一个变量的字符串保存到另一个变量 $bg-color = '#aaa'; $bg_style = 'background: {$block_bg_color_top};'; <div class="block" style="<?php echo $bg_style; ?>"> </div> $bg color='#aaa'; $bg_style='背景:{$block_bg_color_top};';

我正在尝试将包含一个变量的字符串保存到另一个变量

    $bg-color = '#aaa';

    $bg_style = 'background: {$block_bg_color_top};';


    <div class="block" style="<?php echo $bg_style; ?>">

    </div>
$bg color='#aaa';
$bg_style='背景:{$block_bg_color_top};';

您正在尝试计算
背景:…
字符串中的变量。但是单引号内的变量不会被计算;它们必须用双引号引起来。此外,在此上下文中不需要
{
}
。按如下方式更改代码:

$bg_style = "background: $block_bg_color_top;";
你也可以做
$bg_style='background:'$块背景颜色顶部。在本例中,这两个语句是等价的

我假设你在某处设置了
$block\u bg\u color\u top
;你发的代码里没有。您试图定义另一个变量,
$block bg
,但该变量名无效,如下所述


严格来说,这不是答案的一部分,但请注意,代码中也存在语法错误。此行将导致错误:

$bg-color = '#aaa';
您将得到以下错误:

PHP分析错误:语法错误,在


这是因为
$bg color
不是有效的变量名;在解析器看来,您好像是在从
$bg
中减去
color
,但是您不能为表达式的结果赋值,就像您不能执行
$x-5=7一样

您尝试执行以下操作:

$bg-color = '#aaa';
$bg-style = 'background: '.$bg-color;

<div class="block" style="<?php echo $bg_style; ?>">

</div>
$bg color='#aaa';
$bg style='background:'。$bg color;

我想这就是你想要的:

$bg_color = '#aaa';

$bg_style = 'background: ' . $bg_color . ';';

变量名刚刚按原样显示?!这是因为变量插值不会发生在单引号字符串中。你的问题是什么?
$bg_color = '#aaa';

$bg_style = 'background: ' . $bg_color . ';';