如何在PHP中使用数组变量作为定义的变量?

时间:2014-10-28 09:30:56

标签: php arrays

我宣布了一个数组

$CLISTS=array("Add_Product"=>"products.php","Payment_Type"=>"payment.php","Shipping"=>"shipping.php");

我定义了变量

<?php 
define("Add_Product",TRUE);
define("Payment_Type",FALSE);
define("Shipping",FALSE);


foreach($CLISTS as $lists=>$page)
{
if($lists==TRUE)
{
?>
<div class='alert' style="text-decoration:line-through;"><?php echo str_replace("_"," ",$lists);?></div>
<?php }
else
{   
?>
<div class='alert'><a href="<?php echo $page;?>"><?php echo str_replace("_"," ",$lists);?></a></div>

<?php }
} 
?>

它不起作用。所有的div都是罢工。我做错了什么?

2 个答案:

答案 0 :(得分:1)

DEFINE没有按照您的想法行事。 Define创建了named constant

你无法用它来改变你的数组变量。

简单地说:

$CLISTS['Add_Product'] = true;
$CLISTS['Payment_Type'] = false;
$CLISTS['Shipping'] = false;

更改数组变量。

答案 1 :(得分:0)

您可以编写像

这样的逻辑
foreach($CLISTS as $lists=>$page)
{
    if($lists == 'Add_Product')
    {
?>

甚至您可以使用===之类的

foreach($CLISTS as $lists=>$page)
{
    if($lists === TRUE)
    {
?>