我有一个遍历数组的函数
function ($data)
{
$path = $data->data->data->clicks;
foreach ($path as $key => $item){
if ($key >= 0) {
$array[] = $item->clicks;
}
}
return json_encode($array);
}
我试着让它迭代直到它的第七个键,我写了一个if语句,但我对此很新,我不知道该怎么做。
如果它有助于阵列结构如下所示:
["data"]=>
object(stdClass)#212 (3) {
["status_code"]=>
int(200)
["data"]=>
object(stdClass)#211 (3) {
["days"]=>
int(30)
["total_clicks"]=>
int(6)
["clicks"]=>
array(30) {
[0]=>
object(stdClass)#215 (2) {
["clicks"]=>
int(0)
["day_start"]=>
int(1466395200)
}
[1]=>
object(stdClass)#216 (2) {
["clicks"]=>
int(0)
["day_start"]=>
int(1466308800)
}
[2]=>
object(stdClass)#217 (2) {
["clicks"]=>
int(0)
["day_start"]=>
int(1466222400)
}
答案 0 :(得分:3)
只需添加一个在大于7
时计数和中断的变量$num_loops = 0;
foreach ($path as $key => $item){
$num_loops++;
if($num_loops > 7) break;
if ($key >= 0) {
$array[] = $item->clicks;
}
}
答案 1 :(得分:0)
使用array_map
和array_slice
函数(没有循环,没有if
条件)的简短方法:
$path = $data->data->data->clicks;
$clicks = array_map(function($o){
return $o->clicks;
}, array_slice($path, 0, 7));