我正在尝试制作一个多种形式的衣柜生成器,我有一个会话变量,用于用户在上一页中选择的门的数量(1-6门)。根据所选门的数量,我使用for循环显示默认门(即未选择门范围的类型)。我的问题是,我希望每个门都有一个唯一的变量,并将这些变量转换为会话变量(在应用程序中进一步使用),例如door1、door2和door3(如果选择了3个门)。这个想法是让这些门是唯一的,这样用户就可以点击并高亮显示门1的默认图像,并用门范围列表中的图像填充该区域/图像。这是一个相当新的,所以任何帮助都将非常感谢
代码:
<?php
$myDoors = array();
for ($x = 1; $x <= $selected_doors; $x++) {
echo "Door: $x <br>";
$myDoors["Door$x"] = "value set in loop";
//if you want to loop through them all
foreach ($myDoors as $key => $val) {
echo "$key -> $val'n";
}
if ($selectRanges == 'Minimalist') { ?>
<div>
<img src="images/defaultMinimalist.png" alt="image">
</div>
<?php } elseif ($selectRanges == 'Classic') { ?>
<div>
<img src="images/defaultClassic.png" alt="image">
</div>
<?php } else { ?>
<div>
<img src="images/defaultEllipse.png" alt="image">
</div>
<?php }
} ?>
不要使用"唯一变量"。CCD_ 1是一个类似于任何其他阵列的阵列。你可以在数组中嵌入数组,所以…
$_SESSION['doors'][7]['style'] = 'Minimalist';
^^^--- door ID
现在它只是一个常规数组,这意味着你不需要做像这样愚蠢的事情
$id = 7;
$_SESSION["door{$id}"]['style'] = ...
首先创建门阵列,然后将整个阵列推送到会话
$_SESSION['doors']=$myDoors;
现在你可以像这个一样访问会话中的门
$_SESSION['doors'][$doorNumber]