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();

我试图从每个循环代码中获取这个值是here

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().'"],';
              }

              ?>
             ]);

任何帮助都非常感谢.... :)

注意:- 此代码的目的是简单地创建一个包含两个不同月份的图表。

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 作为 $result) ....

于 2012-11-08T08:48:15.910 回答