0
$fidimp = implode('"', $fidarr);
$friendsimp = implode('<a href="../profile?id=', $funamearr);
$impglue = '</a><br />' . $fidimp . '>';
echo('<a href="../profile?id=' . $fidimp . '>' . implode('</a><br />', $funamearr));

这是我正在使用的代码。

$funamearr其中有 2 个值:“Conner”和“Rach667”

$fidarr其中也有 2 个值:“2”和“3”(用户 ID)

运行此代码时,它只会使“Conner”成为链接(顺便说一句,它可以工作)我怎样才能使“Rach667”也显示为链接?

4

2 回答 2

3

首先建立一个从你的 id 到你的名字的关联数组,然后创建一个链接数组并将其内爆,例如:

<?php

$funamearr = array( "Conner", "Rach667" );
$fidarr = array( 2, 3 );

$users = array_combine($fidarr, $funamearr);

foreach($users as $id => $name) {
    $links[] = sprintf('<a href="../profile?id=%s">%s</a>', $id, $name);
}

echo implode('<br/>', $links);
于 2013-06-14T07:35:27.710 回答
1

好吧,我不建议在这种情况下使用内爆,但正如 LokiSinclair 所说,使用循环。

<?php
foreach($funamearr as $key => $value) {
    echo '<a href="../profile?id=' . $fidarr[$key] . '">' . $value . '</a><br/>";
}

这种情况假设数组键$funamearr$fidarr相互匹配。

在代码之外,我会提出两个提示。

1 使用有用的变量名。

$funamearr没有告诉我太多,除了 arr 部分,因为它可能是一个数组。我会推荐$usernames(多个so数组;)

2 将数据保存在一起

不,我们必须希望密钥是相同的。但是如果您将数据保持在同一级别,我们将不会而且更容易使用

IE

array(
    array(
        'id' => 1,
        'name' => 'test',
    ),
    array(
        'id' => 2,
        'name' => 'test_name_2',
    ),
)
于 2013-06-14T07:35:59.253 回答