1

我确定我想太多了,任何帮助引导我的帮助都是值得的。我需要提取两个数组变量并将它们放在一个链接中,以便我可以将它们应用于另一个表单以更改它们各自的数组(这些链接用于提取存储在会话中的收件人姓名及其 uid 值数组。)因此,在我的 foreach 中,“$contactlistunique as $rec”行似乎可以正常工作以提取用户名,但现在我需要找出一种方法来提取 uid 对象。Foreach 操作不允许多个条件,那么最聪明的方法是什么?

<?php
$contactlistuidunique = array_unique($_SESSION['recipientlist']);
$contactlistunique = array_unique($_SESSION['contactlist']);
foreach ($contactlistunique as $rec)
    {
    echo "<font color=#808080><a href='removecontact.php?contact=$recuid&recipient=$rec' STYLE='TEXT-DECORATION: NONE'>
    <font color=#808080>" . $rec . "</a></font>";
    }
?>
4

2 回答 2

1

试试吧,虽然这个问题对我来说不是很清楚

<?php
$contactlistuidunique = array_unique($_SESSION['recipientlist']);
$contactlistunique = array_unique($_SESSION['contactlist']);
foreach ($contactlistunique as $key=>$rec)
{
    echo "<font color=#808080><a href='removecontact.php?contact=".$contactlistuidunique[$key]."&recipient=$rec' STYLE='TEXT-DECORATION: NONE'>
    <font color=#808080>" . $rec . "</a></font>";
}
?>
于 2013-09-03T19:28:01.433 回答
1

根据您的评论,我建议您不要使用 array_unique,而是执行以下操作:

<?php
$isBefore = array();
foreach ($_SESSION['contactlist'] AS $key => $rec)
{
  if (!in_array($rec, $isBefore)) {
    $isBefore[] = $rec;
    echo "<font color=#808080><a href='removecontact.php?contact=" . $_SESSION['recipientlist'][$key] . "&recipient=$rec' STYLE='TEXT-DECORATION: NONE'><font color=#808080>" . $rec . "</a></font>";
  }
}

因此,仅显示唯一值并保留键。

于 2013-09-03T19:30:16.510 回答