0

こんにちは友達私の質問は非常に単純ですが、理解するのは難しいと思います。

ここにいくつかのコードがあります:-

    $graph1 = new gapi($ga_email,$ga_password);

    $dimensions = array('date');
    $metrics    = array('visits');

    $graph1->requestReportData($ga_profile_id,
                           $dimensions,
                           $metrics,
                            'date'
                           );


$graph2 = new gapi($ga_email,$ga_password);

$dimensions = array('date');
$metrics    = array('visits');

$graph2->requestReportData($ga_profile_id,
                       $dimensions,
                       $metrics,
                       'date',
                       $filter, // Filter the data
                       '2012-09-07', // Start Date
                       '2012-10-07', // End Date
                       1,  // Start Index
                       500 // Max results

                       );

私は配列を持っています

 $resultsg1 = $graph1->getResults();

 $resultsg2 = $graph2->getResults();

ループコードごとにこの値を取得しようとしています。

data.addRows([
          <?php
          foreach($results as $result)
         {
            echo '["'.date("l, F j, Y",strtotime($result->getDate())).'", '.$result->getVisits().'," Visits :'.$result->getVisits().'","'.date("l, F j, Y",strtotime($result->getDate())).'",'.$result->getVisits().'," Visits :'.$result->getVisits().'"],';
          }

          ?>
         ]);

今私の質問私はこのような出力が必要です:-

foreach($resultsg1 as $result1 and resultsg2 as $results2 )

 {
                echo '["'.date("l, F j, Y",strtotime($result1->getDate())).'", '.$result1->getVisits().'," Visits :'.$result1->getVisits().'","'.date("l, F j, Y",strtotime($result2->getDate())).'",'.$result2->getVisits().'," Visits :'.$result2->getVisits().'"],';
              }

              ?>
             ]);

どんな助けでも大歓迎です....:)

:-このコードの目的は、2つの異なる月のグラフを作成することです。

4

3 に答える 3

1

SPLMultipleIteratorを使用できます

<?php
echo 'phpversion: ', phpversion(), "\n";
$resultsg1 = data(1);
$resultsg2 = data(2);
$iterator = new MultipleIterator();
$iterator->attachIterator(new ArrayIterator($resultsg1));
$iterator->attachIterator(new ArrayIterator($resultsg2));

foreach( $iterator as $e ) {
    echo 'r1:', $e[0]->bar(), ', r2:', $e[1]->bar(), "\n";
}

// boilerplate
function data($n) {
    return array_map(function($e) use($n) { return new Foo($n.'-'.$e); }, range(1, 9));
}

class Foo {
    public function __construct($n) {
        $this->n = $n;
    }
    public function bar() {
        return $this->n;
    }
}

版画

phpversion: 5.4.7
r1:1-1, r2:2-1
r1:1-2, r2:2-2
r1:1-3, r2:2-3
r1:1-4, r2:2-4
r1:1-5, r2:2-5
r1:1-6, r2:2-6
r1:1-7, r2:2-7
r1:1-8, r2:2-8
r1:1-9, r2:2-9
于 2012-11-08T08:49:06.440 に答える
0
foreach($results1 as $k => $result)
{
     echo $result->getDate() , $results2[$k]->getDate() 
}

同じ長さでない場合は、 isset($results2[$k]) で確認する必要があります

于 2012-11-08T08:47:55.493 に答える
0

あなたの要件を完全に理解しているかどうかはわかりませんが、複数の配列があり、それらを結合してからそれらをループしたい場合は、array_merge を見て、より複雑な構造の配列が再帰的にマージされる場合

$results = array_merge($result1, $resultg1);

foreach($results as $result) ....

于 2012-11-08T08:48:15.910 に答える