从foreach中的两个单独的数组中拉出两个对象

时间:2013-09-03 19:14:24

标签: php

我确信我过度思考这个问题,任何帮助我直接引导我的行为都表示赞赏。我需要拉出两个数组变量并将它们放在一个链接中,以便我可以将它们应用到另一个表单以便更改它们各自的数组(这些链接用于提取存储在会话中的收件人名称及其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>";
    }
?>

2 个答案:

答案 0 :(得分: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>";
}
?>

答案 1 :(得分: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>";
  }
}

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