1

クエリによって返されるものの ID と値に対応する 2 つのコンマ区切りのリストがあります。爆発を使用して、それぞれを配列に簡単に変換できます。

私の質問は、次のように、2 つのリストを、それぞれから 1 つを使用するハイパーリンクのセットに変換するにはどうすればよいかということです。

Ids:  34,23,78
Values: red, blue, green

Links: <a href='get.php?id=34'>red</a> etc.

使うことができます:

$valuesarray =explode(',',$values);
foreach($valuesarray as $val) {
Echo ....$Val
}

しかし、どうすればIDをリンクに入れることができますか?

4

6 に答える 6

2

個人的にはarray_combine、それらを 1 つの配列に結合するために使用します。

$arr = array_combine(explode(",",$ids),explode(",",$values));
foreach($arr as $id=>$value) {
    ...
}

しかし、他の方法があります。そのような:

$idarray = explode(",",$ids); $valuesarray = explode(",",$values);
// option 1:
foreach($idarray as $k=>$id) {
    $value = $valuesarray[$k];
}
// option 2:
$length = count($idarray);
for( $i=0; $i<$l; $i++) {
    $id = $idsarray[$i]; $value = $valuesarray[$i];
}

等々。

于 2012-10-17T18:58:54.847 に答える
1

for each ループで $key => $value を使用すると、これが実現します。

foreach($valuesarray as $id => $val) {
echo '<a href="file.php?id=' . $id . '">' . $val . '</a>';
}
于 2012-10-17T18:57:51.793 に答える
1

アイテムの数が常に同じであると仮定できる場合は、通常の for ループを実行できます。

for ($i = 0; $i < count($valuesarray); $i++) {
    echo "<a href='get.php?id=" . $idsarray[$i] . "'>" . $valuesarray[$i] . "</a>";
}
于 2012-10-17T18:58:22.643 に答える
0

次のように、キーとして「id」、値として「値」を使用して、それらを配列にマップできます。

$id_array = explode(',', $ids);
$value_array = explode(',', $values);
$final_array = array();

for ($i=0; $i < count($id_array); $i++) {
    $final_array[$id_array[$i]] = $value_array[$i];
}

ループに入る前に、ID の数が値の数と一致することを確認することもできます。

于 2012-10-17T18:59:40.540 に答える
0
$ids = '33,22,55';
$values = 'red,yellow,blue';

$ids = explode(',', $ids);
$values = explode(',', $values);

foreach($ids as $key => $value){
    echo "<a href='get.php?id=$ids[$key]'>$values[$key]</a><br />";
}
于 2012-10-17T19:00:10.663 に答える
0

これを試して:

$id_arr = explode(',',$ids);
$val_arr = explode(',',$values);
for($i = 0; $i < count($id_arr); $i++)
{
    echo '<a href="get.php?id='.$id_arr[$i].'">'.$val_arr[$i].'</a>';
}
于 2012-10-17T19:02:24.580 に答える