使用嵌套为每个循环构建一个多维数组?

时间:2016-06-01 04:33:20

标签: php arrays google-bigquery

我正在尝试从bigquery构建一个结果数组,并且在创建关联数组时遇到了问题。期望的结果是包含具有所有结果的关联数组的数组。

这是我拥有的,以及它产生的东西:

//get the headings
$headings = $response->getSchema()->getFields();
//make headings array
$headingArray = array();
//loop through this array and build another array of just the names
foreach ($headings as $key => $val) {
    //each column heading:
    $headingArray[] = $val->name;
}

$finalArray = array();


foreach ($response->getRows() as $row => $data){    
    $i = 0;

    foreach($data['modelData']['f'] as $k => $v){
        //echo $k;
        //print_r($v);
        $tempData = $result[$row][$response['modelData']['schema']['fields'][$k]['name']] = $v['v'];
        $finalArray[$i][$headingArray[$k]] = $tempData;
    }

    $i++;
}

只生成第一个结果(应该有9个):

Array
(
    [0] => Array
        (
            [firstName] => Dillon
            [lastName] => Landman
            [address] => 9044 Smith Hall 
            [city] => Boulder
            [zip] => 80310
        )

)

如果我只是print_r所有的行有9个响应,那么最后的数组应该有9个键,每个键包含一个带有列标题=>的关联数组。来自那[0]行的数据。

感谢您的帮助,我一直在努力寻找文档而且很少。此API也会导出大量其他数据,这就是为什么我需要此代码才能显示列标题和结果。

1 个答案:

答案 0 :(得分:1)

您正在重复foreach ($response->getRows() as $row => $data){ $i = 0; 每次迭代。

$i = 0;
foreach ($response->getRows() as $row => $data){    

把它放在循环外面。

import pandas as pd
all_ages = pd.read_csv("all-ages.csv")
all_ages.head(5)