1

私はこれを考えすぎていると確信しています。私をまっすぐに導くための助けをいただければ幸いです。それぞれの配列を変更するために別のフォームに適用できるように、2 つの配列変数を取得してリンクに配置する必要があります (これらのリンクは、セッションに保存されている受信者名とその 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 に答える