【问题标题】:creating array dynamically动态创建数组
【发布时间】:2012-02-22 06:14:17
【问题描述】:

我正在尝试使用 php 动态创建数组,如下所示

 $data =    array(
  array("date" => "1/2/2012", "sentstatus" => "0", "mobile" => "14578998"),
      array("date" => "21/2/2012", "sentstatus" => "1", "mobile" => "14668998"),
      array("date" => "1/5/2012", "sentstatus" => "1", "mobile" => "14598998"),
      array("date" => "1/6/2012", "sentstatus" => "0", "mobile" => "14578748"),
);

下面是我将 sql server 数据插入数组的 PHP 代码,但问题是数组仅由数据库表的最后一个结果集行组成。如上所示,我没有将所有数据库表行插入数组的想法:

 $sql = "SELECT [start_date_time],[sent_status],[mobile_number] ,[play_file] 
         FROM [slice].[dbo].[tbl_message_detail] ";
 $res = odbc_exec($con,$sql) or die(odbc_error());
 $rows = odbc_num_rows($res);

 while($row = odbc_fetch_array($res))
  {     
 $data =  array(
         array("Date_Time" => $row['start_date_time'], "Send_Status" => $row['sent_status'], "Mobile_Number" => $row['mobile_number'], "play_file" => $row['play_file'])
    );
   }

【问题讨论】:

    标签: php sql-server arrays multidimensional-array


    【解决方案1】:

    您只得到最后一行,因为每次迭代都会创建一个新数组。在while 循环之外声明$data

    【讨论】:

      【解决方案2】:

      试试这个代码:

      while($row = odbc_fetch_array($res))
      {     
        $data[] =  array("Date_Time" => $row['start_date_time'], 
                         "Send_Status" => $row['sent_status'], 
                         "Mobile_Number" => $row['mobile_number'], 
                         "play_file" => $row['play_file']);
      }
      

      【讨论】:

      • 感谢您很快回复。感谢您提供简单的解决方案..它解决了我的问题
      【解决方案3】:

      您在循环的每一轮都覆盖了 $data 变量。这个:

      $data = array();
      while($row = odbc_fetch_array($res))
      {     
       $data[] = array("Date_Time" => $row['start_date_time'], 
                       "Send_Status" => $row['sent_status'], 
                       "Mobile_Number" => $row['mobile_number'], 
                       "play_file" => $row['play_file']
                 );
      }
      

      应该按你的需要工作

      【讨论】:

        猜你喜欢
        • 2020-11-08
        • 1970-01-01
        • 1970-01-01
        • 2021-06-26
        • 2020-06-17
        • 2016-06-12
        • 2011-02-12
        • 2015-08-10
        • 1970-01-01
        相关资源
        最近更新 更多