2

私がやろうとしているのは、while ループからデータを収集し、それを変数に格納することです。次に、コードの後半で、変数が配列内の値の1つと等しいかどうかを確認し、whileループから取得した他の2つの列の値をエコーアウトしますが、値の元の行と等しい. 私はさまざまなことを試してみましたが、非常に近いですが、正確にはわかりません。

     while($row = mysql_fetch_assoc($query)){

$team[] .= "{$row['team']}";
$winslosses .= "({$row['wins']} - {$row['losses']})";


これは次のようなものを返します

      $team = (bears, badgers, wildcats)
      $winslosses = ((42-24), (55-23), (32-21))

その後、コードの後半で、配列内の値と等しいかどうかを確認してから、$ winslosses をエコーし​​ます。

  if(in_array(bears, $team) ) {echo '$winslosses';}

これは、各チームのすべての勝敗を示しています。クマの記録だけ見せてほしい。

どんな助けでも素晴らしいでしょう。

4

4 に答える 4

1

array_search()を使用して、配列内のアイテムのインデックスを取得できます。$winlosses をクエリするときに、そのインデックスを使用できます。

$team = array(bears, badgers, wildcats);
$winslosses = array("(42-24)", "(55-23)", "(32-21)");

$key=array_search(bears, $team);
echo $winslosses[$key]

結果:

(42-24)
于 2013-04-10T01:27:46.137 に答える
0

あなたの最善の策は、それらを連想配列に格納することです。

while($row = mysql_fetch_assoc($query)){
    $winslosses[$row['team']] = "({$row['wins']} - {$row['losses']})";
}

お役に立てれば

于 2013-04-10T01:28:10.633 に答える
0

あなたの主な問題は、現在$winslosses、配列ではなく文字列として持っているため、1 つのチームだけの勝敗記録を簡単に引き出すことができないことです。

これを行うにはいくつかの方法があります。私にとって最も簡単だと思われるのは、前もって 1 つのアレイとしてまとめることです。

何かのようなもの...

while($row = mysql_fetch_assoc($query)){
    $teams[$row['team']] = "({$row['wins']} - {$row['losses']})";
}

それから後で...

if(array_key_exists("bears",$teams)) {
    echo $teams["bears"];
}

または、勝敗をサブ配列として保存すると、後で必要に応じてフォーマットできる構造化データが得られます。

while($row = mysql_fetch_assoc($query)){
    $teams[$row['team']] = array("wins" => $row['wins'], "losses" => $row['losses']);
}

echo $teams['bears']['wins']; // for example
于 2013-04-10T01:28:30.593 に答える
0

連想配列を使用する:

while($row = mysql_fetch_assoc($query)){

  $team[] = {$row['team']};
  $winslosses[$row['team']] = "{$row['wins']} - {$row['losses']}";

}

次に、次のように取得します。

 if(in_array(bears, $team) ) {
         echo $winslosses['bears'];
   }

実際のところ、別の配列にチームの名前が必要ない場合は、連想配列を 1 つだけ使用して、それを取得することができます。

if (array_key_exists('bears', $winslosses)) {
    echo $winslosses['bears'];
}
于 2013-04-10T01:30:49.773 に答える