退出循环后,数组会更改值

时间:2016-09-18 10:55:24

标签: php arrays mysqli

我使用while循环从数据库中获取值&将它们分配给一个数组。但是,当循环退出时;价值变化。

synchronized(PrintNums.class)

当我在循环作业中时,[" i"]会向第二个实例返回不同的值。先感谢您。根据评论请求分享更多代码

$i=1;

$sql = "SELECT * FROM opportunities WHERE location = '$location'";
$result1 = mysqli_query($conn, $sql);
while($row1 = mysqli_fetch_assoc($result1)) 
{
 $job[$i]= $row1['id'];
 echo $job[$i] . "is the ID of the Job opening with this location <br>";

  $job[$i][1] = 3;
  $i=$i+1;
  echo $job['$i'];


}

echo $job[1]. $job[2];

输出:对于第一个循环,循环(第一个实例)中的结果是27&amp; 29。 在循环之外,结果是23&amp; 23. 23是下一个循环的第一个值(如果它以任何方式相关)

1 个答案:

答案 0 :(得分:0)

以下代码会产生什么结果?

$sql     = "SELECT * FROM opportunities WHERE location = '$location'";
$result = mysqli_query($conn, $sql);
$jobs    = array();
$i      = 0;

while ($row = mysqli_fetch_assoc($result)) 
{
    $jobs[$i]['id']        = $row['id'];
    $jobs[$i]['relevance'] = 3;

    $i++;
}

var_dump($jobs);