php 如何将While循环值移到循环之外[duplicate]

3j86kqsm  于 2023-01-01  发布在  PHP
关注(0)|答案(4)|浏览(120)
    • 此问题在此处已有答案**:

How to load MySQLi result set into two-dimensional array?(3个答案)
2天前关闭。
我有一个复杂得多的问题要解决,但这一切都归结为从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//

我不知道如何从这个循环中得到所有的五个名字。我把它们放在一个数组中,但是当我从循环外打印数组时,我得到的只是最后一条记录。如果我从循环内打印数组,我得到的是所有的记录。
是否可以将值存储在循环中,将它们从循环中移出,然后在其他地方使用它们?

sqserrrh

sqserrrh1#

你可以这样做:

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

然后您可以在循环之外自由使用$dataset ...

u4dcyp6a

u4dcyp6a2#

$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;
}
8i9zcol2

8i9zcol23#

在循环中每次都设置$array1。需要将$val添加到数组中,而不是将数组设置为$val

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

请注意$array1[] =而不是$array1 =

tv6aics1

tv6aics14#

你正在覆盖数组。每次循环执行时它都会覆盖值,所以你只得到最后一个值。尝试

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

相关问题