0

私はこのループを持っています:

for ($m=0; $m<7; $m++){
if ($myextra[$m] == $drawextra[$m]) {
$myextra[$m] = '<span class="matchx">'.$myextra[$m].'</span>';
}
}
echo $myextra;

私のエコー出力は次のとおりです。

 3445<<8
<11<<6<
<45<<<<

のクラスは私のスタイルシートからのもので、文字列内の一致した文字に色を付ける必要がありますが、一致した文字は単に「<」に置き換えられます。それらは正しい位置にありますが、どうすればそのクラスを適切に割り当てることができますか?

4

2 に答える 2

0

[] 表記を使用して文字列内の複数の文字を変更することはできません。新しい変数を使用する必要があります:

$result = '';
for ($m=0; $m<7; $m++){
    if ($myextra[$m] == $drawextra[$m]) {
        $result .= '<span class="matchx">'. $myextra[$m] .'</span>';
    } else {
        $result .= $myextra[$m];
    }
}
echo $result;
于 2012-11-29T16:02:33.850 に答える
0

一時変数を使用してみてください。

$rez = "";
for ($m=0; $m<7; $m++){
  if ($myextra[$m] == $drawextra[$m]) {
    $rez .= '<span class="matchx">'.$myextra[$m].'</span>';
  }else{
    $rez .=$myextra[$m];
  }
}
$myextra = $rez;
unset($rez);

echo $myextra;
于 2012-11-29T16:04:36.750 に答える