在foreach循环中设置$_SESSION变量只接受最后一个元素


Set a $_SESSION variable in foreach loop only takes last element

我有一个表,其中每一行都由foreach循环填充。每一行都有一个<a href=""></a>标签,我想根据产品在其中重定向。我不想把id显示为参数,所以我决定为每行设置$_SESSION变量。但它总是填充每个$_SESSION中的最后一行id。我的代码:

<?php foreach ($useremails as $key => $value) {
      foreach ($value as $k => $v) {?>
<tr>
    <td class="mailbox-name"><?=$v->id;?></td>
    <td class="mailbox-name"><?=$customer->data()->Vorname;?></td>
    <td class="mailbox-name"><?=$customer->data()->Name;?></td>
    <td class="mailbox-date"><input type="hidden" name="sesmailid" value="<?=$v->id?>" /></td>
    <td class="mailbox-subject"><a href="<?php
                                     Session::put(Config::get('session/mail_id'), $v->id);
  if (isset($_GET['lang'])) {
        echo URL::clearQuery(mailbox_url()) . '?lang=' . escape($_GET['lang']);
  }else{
        echo URL::clearQuery(mailbox_url());
  }?>"><b><?=$v->Titel;?></b> - <?=substr($v->Body, 0, 40)?>...</a></td>
  <?php 
       $datefromdb = Date::extractDate($v->Datum);
       $today = date('Y-m-d');
       $date = Date::daysDifference($datefromdb, $today);

  ?>
  <td class="mailbox-date"><?=$date;?> days ago</td>
</tr>
<?php }} ?>

它总是放最后一个id。我该如何解决这个问题?

这可能是因为session有相同的index,所以它每次都会被覆盖,最后它有最后一个value

尝试创建session array