0

解決しようとしているはるかに複雑な問題がありますが、それはすべて、whileループからmysql_fetch_array値を取得することであるため、他の場所で比較するために値を使用できます。

例えば:

 $result = mysql_query("SELECT name FROM Names");
 while ($data = mysql_fetch_array($result))
 {
   $val = $data['name'];
   //let's say there are 5 names here//
   $array1 = array($val);
 }

 //now, I would like to use the five names outside of the loop//

このループから5つの名前すべてを取得する方法がわかりません。それらは配列に含まれていますが、ループの外側から配列を出力すると、最後のレコードしか取得できません。ループ内から配列を印刷すると、すべてのレコードが取得されます。

値をループに保存し、ループから移動して、別の場所で使用することは可能ですか?

4

4 に答える 4

3

あなたはこのような何かをすることができます:

 $result = mysql_query("SELECT name FROM Names");
 $dataset = array();
 while ($data = mysql_fetch_array($result))
 {
   $dataset[] = $data;
 }

$datasetその後、ループの外で自由に使用できます...

于 2012-04-09T08:47:55.300 に答える
3
$array1 = array();
$result = mysql_query("SELECT name FROM Names");
while ($data = mysql_fetch_array($result)){
 $val = $data['name'];
  //let's say there are 5 names here//
  $array1[] = $val;
}
于 2012-04-09T08:48:09.747 に答える
2

$array1ループ内で毎回設定しています。$val配列をに設定するのではなく、配列に追加する必要があります$val

$result = mysql_query("SELECT name FROM Names");
while ($data = mysql_fetch_array($result))
{
    $val = $data['name'];
    $array1[] = array($val);
}

$array1[] =の代わりに注意してください$array1 =

于 2012-04-09T08:47:30.670 に答える
0

配列を上書きしています。ループを実行するたびに値が上書きされるため、最後の値のみが取得されます。試す

$result = mysql_query("SELECT name FROM Names");
$i = 0;
while ($data = mysql_fetch_array($result))
$val = $data['name'];
$array1[$i] = $val;
$i++;
}
于 2012-04-09T08:47:46.290 に答える