将变量加载到数组中


Loading a variable into an array

我有一个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函数的安全使用。