2016-06-01 10 views
1

私は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

各繰り返しで$iをリセットしています。

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

ループの外側に配置します。

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

Duh ..ありがとう!!!それは常に括弧や愚かなものです。私は文字通り、これを挫折させて2時間を費やしました。 PHPで新しいAPIを使って動作するSELECTサンプルが見つからなかったので、私は完全な作業スクリプトをアップロードしようとします –

関連する問題