<bdo id='IShx2'></bdo><ul id='IShx2'></ul>
<i id='IShx2'><tr id='IShx2'><dt id='IShx2'><q id='IShx2'><span id='IShx2'><b id='IShx2'><form id='IShx2'><ins id='IShx2'></ins><ul id='IShx2'></ul><sub id='IShx2'></sub></form><legend id='IShx2'></legend><bdo id='IShx2'><pre id='IShx2'><center id='IShx2'></center></pre></bdo></b><th id='IShx2'></th></span></q></dt></tr></i><div id='IShx2'><tfoot id='IShx2'></tfoot><dl id='IShx2'><fieldset id='IShx2'></fieldset></dl></div>
    1. <legend id='IShx2'><style id='IShx2'><dir id='IShx2'><q id='IShx2'></q></dir></style></legend>

      <small id='IShx2'></small><noframes id='IShx2'>

        <tfoot id='IShx2'></tfoot>

      1. 如何在 while 循环中填充数组并在每次迭代中获得

        时间:2023-09-20

        <small id='LTnXI'></small><noframes id='LTnXI'>

        • <tfoot id='LTnXI'></tfoot>
            <bdo id='LTnXI'></bdo><ul id='LTnXI'></ul>
          • <legend id='LTnXI'><style id='LTnXI'><dir id='LTnXI'><q id='LTnXI'></q></dir></style></legend>
          • <i id='LTnXI'><tr id='LTnXI'><dt id='LTnXI'><q id='LTnXI'><span id='LTnXI'><b id='LTnXI'><form id='LTnXI'><ins id='LTnXI'></ins><ul id='LTnXI'></ul><sub id='LTnXI'></sub></form><legend id='LTnXI'></legend><bdo id='LTnXI'><pre id='LTnXI'><center id='LTnXI'></center></pre></bdo></b><th id='LTnXI'></th></span></q></dt></tr></i><div id='LTnXI'><tfoot id='LTnXI'></tfoot><dl id='LTnXI'><fieldset id='LTnXI'></fieldset></dl></div>
              <tbody id='LTnXI'></tbody>

                  本文介绍了如何在 while 循环中填充数组并在每次迭代中获得新范围?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  问题是我只得到来自表的最后一个值.我认为这是因为我在将数组的值引用到同一个对象的同时构建数组,并且它一直在变化.我知道 while 循环不会为每次迭代创建一个新的范围,问题.

                  The problem is that I get only the last value comming from the Table. I think its because I am building the array while referencing its values to the same object, and it keeps changing. I know while loop doesnt create a new scope for each iteration which IS the problem.

                  为每次迭代获得新范围的最佳方法是什么?

                  代码:

                      $namesArray= array();
                          while ($row=mysql_fetch_array($result))
                          {
                          $nameAndCode->code = $row['country_code2'];
                          $nameAndCode->name = $row['country_name'];           
                          array_push($namesArray,$nameAndCode);
                  
                  
                          } 
                  return $namesArray;
                  

                  推荐答案

                  您需要在每次迭代时创建一个新对象:

                  You need to create a new object on each iteration:

                  while ($row=mysql_fetch_array($result))
                  {
                      $nameAndCode = new stdClass;
                      $nameAndCode->code = $row['country_code2'];
                      $nameAndCode->name = $row['country_name'];           
                      $namesArray[] = $nameAndCode;
                  } 
                  

                  否则,您将一遍又一遍地引用同一个对象,而只会覆盖其值.

                  Otherwise you're referencing the same object over and over, and just overwriting its values.

                  如果你不需要对象,你也可以用数组来做到这一点:

                  You also can do this with arrays if you don't require objects:

                  while ($row=mysql_fetch_array($result))
                  {
                      $nameAndCode = array();
                      $nameAndCode['code'] = $row['country_code2'];
                      $nameAndCode['name'] = $row['country_name'];           
                      $namesArray[] = $nameAndCode;
                  } 
                  

                  或者更简洁:

                  while ($row=mysql_fetch_array($result))
                  {
                      $namesArray[] = array( 
                          'code' => $row['country_code2'],
                          'name' => $row['country_name']
                      );
                  } 
                  

                  这篇关于如何在 while 循环中填充数组并在每次迭代中获得新范围?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:在 MySQL 服务器上使用 PHP 进行循环 下一篇:“非法抵销"循环内

                  相关文章

                  最新文章

                  1. <legend id='CdYu2'><style id='CdYu2'><dir id='CdYu2'><q id='CdYu2'></q></dir></style></legend>

                  2. <i id='CdYu2'><tr id='CdYu2'><dt id='CdYu2'><q id='CdYu2'><span id='CdYu2'><b id='CdYu2'><form id='CdYu2'><ins id='CdYu2'></ins><ul id='CdYu2'></ul><sub id='CdYu2'></sub></form><legend id='CdYu2'></legend><bdo id='CdYu2'><pre id='CdYu2'><center id='CdYu2'></center></pre></bdo></b><th id='CdYu2'></th></span></q></dt></tr></i><div id='CdYu2'><tfoot id='CdYu2'></tfoot><dl id='CdYu2'><fieldset id='CdYu2'></fieldset></dl></div>
                      <bdo id='CdYu2'></bdo><ul id='CdYu2'></ul>

                    <small id='CdYu2'></small><noframes id='CdYu2'>

                    <tfoot id='CdYu2'></tfoot>