0

次のコードがあるとします。

$arr = array('id' => $tarr = array('1' => 'Fred', '2' => 'Wilma', 'c' => 'Bam Bam'));

echo '<a href="?tag='.$tarr.'">' . implode( '</a>, <a href="?tag='.$tarr.'">', $tarr) . '</a>';

フレッド、ウィルマ、バムバムが表示されます。

しかし、Fred for Fred、Wilma for Wilma などの代わりにhref値を示します。Array

乾杯

4

3 に答える 3

4

foreach ループを使用して、出力文字列 (またはここに示す配列) を作成できます。

foreach($tarr as $v){
  $out[] = "<a href='?tag=$v'>$v</a>";
}

echo implode(', ', $out)
于 2011-09-27T15:19:21.490 に答える
0

あなたがやろうとしていることはこれだと思います:

$arr = array('1' => 'Fred', '2' => 'Wilma', 'c' => 'Bam Bam');
echo '<a href="?tag='.implode('"></a><a href="?tag=',$arr).'"></a>';
于 2011-09-27T15:20:03.850 に答える
0

$tarrは配列なので、文字列に変換すると出力されArrayます。

ここでは使用しないでくださいimplode。配列の各値を取得するには、for ループを使用する必要があります。

あなたがすべきことは次のようなものです:

$tarr = array('1' => 'Fred', '2' => 'Wilma', 'c' => 'Bam Bam');
$aTags = array();
foreach($tarr as $v){
  $aTags[] = '<a href="?tag='.$v.'">'.$v.'</a>';
}
echo implode(', ', $aTags);

また、なぜ$arrここにいるのですか?それはまったく役に立たない。

$arr = array('id' => $tarr = array('1' => 'Fred', '2' => 'Wilma', 'c' => 'Bam Bam'));

これは次と同じです。

$tarr = array('1' => 'Fred', '2' => 'Wilma', 'c' => 'Bam Bam');
$arr = array('id' => $tarr);
于 2011-09-27T15:23:45.900 に答える