我有一个PHP代码如下:
1个文件包含以下内容:
<?php
$max=count($_SESSION['cart']);
?>
<div class="cartSummary">
<?php echo $lang['CARTSTATUS']; ?>
</div>
另一个文件包含以下内容:
$lang['CARTSTATUS'] = "Tiene <a href='../cart/shoppingCart.php'>".$max." productos </a>en su cesta de compra";
问题是,结果只显示纯文本,而不打印$max
变量。
你看到将$max加载到我正在使用的数组$lang中有什么问题吗?
谢谢!
当您设置$lang['CARTSTATUS']
时,您已经定义了$max
。根据提取的代码,看起来像是先设置$lang['CARTSTATUS']
,然后设置$max
让您的其他文件有这样的赋值:
$lang['CARTSTATUS'] = 'Tiene <a href=''../cart/shoppingCart.php''> $max productos </a>en su cesta de compra';
然后在文件1中有这样的代码:
<?php
$max=count($_SESSION['cart']);
$tmp = $lang['CARTSTATUS'];
eval("'$tmp = '"$tmp'";");
$lang['CARTSTATUS'] = $tmp;
?>
<div class="cartSummary">
<?php echo $lang['CARTSTATUS']; ?>
</div>
它将输出您期望的字符串。
我通常不会提供任何关于eval的答案,但这似乎是对PHP备受批评的eval函数的安全使用。