Php 按键取消多维数组的设置

Php 按键取消多维数组的设置,php,arrays,multidimensional-array,array-unset,Php,Arrays,Multidimensional Array,Array Unset,$series上的打印的输出产生两个示例系列: 数组( [1] =>数组([0]=>数组([id]=>1[数据id]=>1[时间id]=>1 [数据]=>1][1]=>Array([id]=>2[数据id]=>1[时间id]=>2 [数据]=>3) [2] =>数组([0]=>数组([id]=>6[数据id]=>2[时间id]=>1 [data]=>7][1]=>Array([id]=>7[data\u id]=>2[time\u id]=>2 [数据]=>4) 我的问题:如何取消多维数组的设置

$series
上的
打印的输出产生两个示例系列:

数组(

[1] =>数组([0]=>数组([id]=>1[数据id]=>1[时间id]=>1 [数据]=>1][1]=>Array([id]=>2[数据id]=>1[时间id]=>2 [数据]=>3)

[2] =>数组([0]=>数组([id]=>6[数据id]=>2[时间id]=>1 [data]=>7][1]=>Array([id]=>7[data\u id]=>2[time\u id]=>2 [数据]=>4)

我的问题:如何取消多维数组的设置,使其只包含[数据]而不包含任何其他键?我仍然希望
$series
包含
[1]
[2]
,但我不希望相应的子数组包含
[data]
以外的任何其他键

事实上,由于我正在减少子数组以包含一个键,因此我真的希望完全去掉子数组,这样我就有两个数组:

$series[1]=数组(1,3)和 $series[2]=数组(7,4)

试试这个:

$series = array();  

while($row = mysql_fetch_assoc($result)) { 
            $series[$row["data_id"]][] = $row; 
        } 

我认为您可以在数组中循环并构建一个只保留
数据
详细信息的新数组

$series = array();  

while($row = mysql_fetch_assoc($result)) { 
            $series[$row["data_id"]][] = $row['data']; 
        } 
这将输出

$array = array ('1' => array ( '0' => array ( 'id' => 1, 'data_id' => 1, 'time_id' => 1, 'data' => 1 ), '1' => array ( 'id' => 2, 'data_id' => 1, 'time_id' => 2, 'data' => 3 ), ),
'2' => array ( '0' => array ( 'id' => 6, 'data_id' => 2, 'time_id' => 1, 'data' => 7 ), '1' => array ( 'id' => 7, 'data_id' => 2, 'time_id' => 2, 'data' => 4 ) ));

$i= 0;
$n= 0;
$series = array();
foreach($array as $dato)
{
    $series[$i] = array();
    foreach($dato as $data)
    {
        foreach($data as $key => $value)
        {
            if($key == 'data')
            {
                $series[$i][$n] = $value;
                $n++;
            }
        }
    }
    $n = 0;
    $i++;
}
var_dump($series);

为什么不
选择data
only?(在脚本的mysql查询端)据我所知,您可以将$series[$row[“data\u id”][]=$row;替换为$series[$row[“data\u id”]][]=$row['data'];不查询数据库中不需要的列?这样就没有理由取消设置结果集的其他部分,即只查询数据库中的
数据
字段。
array (size=2)
  0 => 
    array (size=2)
      0 => int 1
      1 => int 3
  1 => 
    array (size=2)
      0 => int 7
      1 => int 4