$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”显示为链接呢?
答案 0 :(得分: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);
答案 1 :(得分:1)
我不建议在这种情况下使用implode,但正如LokiSinclair所说的那样使用循环。
<?php
foreach($funamearr as $key => $value) {
echo '<a href="../profile?id=' . $fidarr[$key] . '">' . $value . '</a><br/>";
}
此案例假设$funamearr
和$fidarr
的数组键彼此匹配。
在代码之外,我会提出两个提示。
1使用有用的变量名称。
$funamearr
并没有告诉我多少,除了arr部分,因为它可能是一个数组。我建议$usernames
(多个数组;)
2将数据保存在一起
不,我们不得不希望钥匙是一样的。但是如果你将数据保持在同一水平,我们将不会更容易使用
即
array(
array(
'id' => 1,
'name' => 'test',
),
array(
'id' => 2,
'name' => 'test_name_2',
),
)