-1

使用 Medoo 高级选择时,如下所示:

$medoo->query('SQL Goes HERE')->fetchAll();

结果以以下结构返回:

Array ( 
    [0] => Array ( 
        [Column 0 name] => "VALUE OF Record 0, Column 0" 
        [0] => "VALUE OF Record 0, Column 0" 
        [Column 1 name] => "VALUE OF Record 0, Column 1" 
        [1] => "VALUE OF Record 0, Column 1"
        ...
        ...
        [Column 99 name] => "VALUE OF Record 0, Column 99" 
        [99] => "VALUE OF Record 0, Column 99"
        ) 
    [1] => Array ( 
        [Column 0 name] => "VALUE OF Record 1, Column 0" 
        [0] => "VALUE OF Record 1, Column 0" 
        [Column 1 name] => "VALUE OF Record 1, Column 1" 
        [1] => "VALUE OF Record 1, Column 1"
        ...
        ...
        [Column 99 name] => "VALUE OF Record 1, Column 99" 
        [99] => "VALUE OF Record 1, Column 99"
        )
    ...
    ...
    ... 
    [99] => Array ( 
        [Column 0 name] => "VALUE OF Record 99, Column 0" 
        [0] => "VALUE OF Record 99, Column 0" 
        [Column 1 name] => "VALUE OF Record 99, Column 1" 
        [1] => "VALUE OF Record 99, Column 1"
        ...
        ...
        [Column 99 name] => "VALUE OF Record 99, Column 99" 
        [99] => "VALUE OF Record 99, Column 99"
        )
)

由于某种原因,每个数组都有一个关联键和索引键值对,而不是 100% 为什么他们以这种方式构建它。关于如何删除所有索引结果并仅保留关联数组的任何建议?

4

2 回答 2

1

fetchAll 需要正确填写:

$medoo->query('Query String')->fetchAll(PDO::FETCH_ASSOC);
于 2016-06-22T01:30:31.487 回答
0

你可能需要这些方面的东西。这是假设您概述的数据类型是准确的

$columns = array(array());
foreach ($arr[0] as $key => $value) {
    if (!is_int($key)) {        
        $columns[0][] = $value;
    }
}

$rows = array();
foreach ($arr as $results) {
    $thisRow = array();
    foreach ($results as $key => $value) {
        if (is_int($key)) {
            $thisRow[] = $value;
        }
    }
    $rows[] = $thisRow;
}

$output = array_merge($columns, $rows);
于 2016-06-22T00:39:23.423 回答