return inside foreach php and laravel

问题描述 投票:0回答:2

我每次都尝试在 foreach() 中返回数据,但我继续在循环的第一次迭代中获取数据这是我的代码

  for ($i = 0 ;$i<4;$i++)
    {
        var_dump($i);
        $publisher = Publisher::find($results[$i]->publisherId);
        //pr($publisher);
        $channels =$publisher->channels()->get() ;
        pr($channels[0]);
        $data = ReviveAgent::getPublisherDailyStatistics($channels[0],$start,$end);
        pr($data);
        return Response::json($data);


    }

在 var_dump($i) 上; 它只显示第一个 0 的数据。那么我怎样才能返回 1,2,3

的数据

这是我在 pr($data) for var_dump($i) = 1 时的输出

            array (

   0 => 
  array (
'impressions' => 1867,
'clicks' => 14,
'requests' => 44,
'revenue' => 2.79,
'day' => 
stdClass::__set_state(array(
   'scalar' => '20150518T00:00:00',
   'timestamp' => 1431907200,
   'xmlrpc_type' => 'datetime',
    )),
   ),
 1 => 
 array (
'impressions' => 2197,
'clicks' => 17,
'requests' => 382,
'revenue' => 19.829999999999998,
'day' => 
stdClass::__set_state(array(
   'scalar' => '20150519T00:00:00',
   'timestamp' => 1431993600,
   'xmlrpc_type' => 'datetime',
   )),
  ),
  2 => 
    array (
 'impressions' => 5484,
'clicks' => 3,
'requests' => 3680,
'revenue' => 6.7300000000000004,
'day' => 
stdClass::__set_state(array(
   'scalar' => '20150520T00:00:00',
   'timestamp' => 1432080000,
   'xmlrpc_type' => 'datetime',
 )),
 ),
 3 => 
 array (
'impressions' => 6909,
'clicks' => 105,
'requests' => 5141,
'revenue' => 378.88499999999999,
'day' => 
stdClass::__set_state(array(
   'scalar' => '20150521T00:00:00',
   'timestamp' => 1432166400,
   'xmlrpc_type' => 'datetime',
     )),
    ),
php laravel-4
2个回答
2
投票

return
运算符隐式结束当前执行范围。未给出您的使用上下文,但您可以在 JSON 编码并返回之前将
$data
放入
array
中。它可能看起来像这样:

$data = array();
for ($i = 0; $i < 4; $i++) {
    ...
    $record = ReviveAgent::getPublisherDailyStatistics($channels[0], $start, $end));
    pr($record);
    $data[] = $record;
}
return Response::json($data);

0
投票

你可以在 laravel 中拿这个例子 这里我返回多个价格

$prices = $this->Prices;
foreach ($prices as $price) {

    $res[] = [
        'travel_mode_id' =>$price->travel_mode_id,
        'occupancy_id' => $price->occupancy_id,
        'rider_id' => $price->occupancy_id,
        'price' => $price->price,

    ];
}
return $res;
© www.soinside.com 2019 - 2024. All rights reserved.