Php 从mysql的用户定义列在数组中创建数组

Php 从mysql的用户定义列在数组中创建数组,php,Php,在表中,我有日期、时间、L1、L2、L3、L4等列名及其对应的值 DATE | TIME | L1 | L2 | L3 | L4 ------------------------------------------ 24Feb|14:00:09|20 | 21 |22 | 23 24Feb|14:01:09|20 | 29 |23 | 24 24Feb|14:02:09|20 | 59 |23 |44 我想创建一个数组 它将L1、L2、L3、l4下的所有值作为一个数组

在表中,我有日期、时间、L1、L2、L3、L4等列名及其对应的值

DATE | TIME    |  L1 | L2 | L3 | L4
------------------------------------------
24Feb|14:00:09|20  | 21 |22   | 23
24Feb|14:01:09|20  | 29 |23   | 24
24Feb|14:02:09|20  | 59 |23   |44
我想创建一个数组

它将L1、L2、L3、l4下的所有值作为一个数组获取

和时间下的第二个数组作为一个或多个数组

$columns_array  = array(array(L1),array(L2),array(L3),array(L4));

$time = array(t1,t2,t3,t4);
下面是我试过的代码

$select_qry  = mysql_query("select * from tab");
  while($row=mysql_fetch_assoc($select_qry))
  {
      $array[] = $row;
  }
 unset($array[0]);
$rt =  array_values($array);

这是您要从中提取的表:

DATE  | TIME     | L1 | L2 | L3 | L4
------------------------------------------
24Feb | 14:00:09 | 20 | 21 | 22 | 23
24Feb | 14:01:09 | 20 | 29 | 23 | 24
24Feb | 14:02:09 | 20 | 59 | 23 | 44
您希望将字段L1、L2、L3和l4中的值插入到二维数组中,正如您使用以下代码行指定的那样:

$columns_array  = array(array(L1),array(L2),array(L3),array(L4));
您希望将所有时间项插入到时间数组中,如下所示:

$time = array(t1,t2,t3,t4);
$time[0] = 14:00:09;
$time[1] = 14:01:09;
$time[2] = 14:02:09;
$L1_array == array(20,20,20);
$L2_array == array(21,29,59);
$L3_array == array(22,23,23);
$L4_array == array(23,24,44);
根据您的规范,对于这个特定的示例数据表,二维数组最终应该是这样的:

$columns_array['L1'][0] = 20;
$columns_array['L1'][1] = 20;
$columns_array['L1'][2] = 20;

$columns_array['L2'][0] = 21;
$columns_array['L2'][1] = 29;
$columns_array['L2'][2] = 59;

$columns_array['L3'][0] = 22;
$columns_array['L3'][1] = 23;
$columns_array['L3'][2] = 23;

$columns_array['L4'][0] = 23;
$columns_array['L4'][1] = 24;
$columns_array['L4'][2] = 44;
当然,时间数组应该是这样的:

$time = array(t1,t2,t3,t4);
$time[0] = 14:00:09;
$time[1] = 14:01:09;
$time[2] = 14:02:09;
$L1_array == array(20,20,20);
$L2_array == array(21,29,59);
$L3_array == array(22,23,23);
$L4_array == array(23,24,44);
以下代码将完全执行此操作:

$time = array();
$L1_array = array();
$L2_array = array();
$L3_array = array();
$L4_array = array();

$query = mysql_query("SELECT * FROM `table`");
因为我们正在迭代表中的每条记录,所以变量$row应该 每次通过while循环时以以下格式显示: $row==array24Feb,14:00:09,20,21,22,23 这意味着,如果我在第一次通过时访问$row['TIME'],它将为我提供14:00:09

while($row = mysql_fetch_assoc($query)){
    $time[] = $row['TIME'];
    $L1_array[] = $row['L1'];  // first pass will set this to: 20
    $L2_array[] = $row['L2'];  // first pass will set this to: 21
    $L3_array[] = $row['L3'];  // first pass will set this to: 22
    $L4_array[] = $row['L4'];  // first pass will set this to: 23
}
当这个while循环在每个样本记录中循环时 每个L_阵列将如下所示:

$time = array(t1,t2,t3,t4);
$time[0] = 14:00:09;
$time[1] = 14:01:09;
$time[2] = 14:02:09;
$L1_array == array(20,20,20);
$L2_array == array(21,29,59);
$L3_array == array(22,23,23);
$L4_array == array(23,24,44);
现在,我们所要做的就是将L数组中的每一个放入列_数组中,瞧

$columns_array = array($L1_array,$L2_array,$L3_array,$L4_array);

我认为您可以像这样使用array\u merge: $result=mysqli\u query$sql; $result=mysqli\u fetch\u assoc$result; /*这将返回6个关联数组$date、$time、$L1、$L2、$L3、$L4*/ $time\u data=array\u merge$date,$time;
$Ls\u data=array\u merge$L1、$L2、$L3、$L4

您尝试的代码的第一行有语法错误。取消设置以从数组0中删除列名这是错误的。我想创建一个数组数组,该数组获取L1、L2、L3、l4下的所有值作为数组。很抱歉,但是您的解释不够充分。这段代码将产生如下结果:$columns\u array=arrayarrayL1、arrayL2、arrayL3、arrayL4;正如您所指定的,我认为您不了解php的mysql库是如何工作的。取消设置第一行不会删除列名,您只是删除返回的第一个条目。您是否介意尝试此代码?根据您的解释,这正是您要查找的内容。那么也许你还记得那次否决票@Markrammy嘿,不知道你在干什么。我看你还没有取消否决票。你试过这个建议吗?我花了很多时间为你的要求编写一个解决方案。如果你不想要它——好吧——但这并不意味着这是一个糟糕的答案。事实上,这正是你想要的。介意取消否决票吗?