Я сделал сообщение о коде для Adobe Analytics API. Я использую код для извлечения первого и второго элемента (измерения), который называется «разбивка». Количество варьируется в зависимости от данных, которые мы имеем для этого элемента.
Я использую цикл с i = 10, но я хочу взять все. Какой лучший способ достичь этого?
Я использую этот код:
foreach ($json->report->data as $element)
{
// putting an excessive number for i
for ($i=0;$i<100;$i++)
{
// checking if the object exists
if (isset($element->breakdown[0]->breakdown[$i]->name))
{
echo $element->breakdown[0]->breakdown[$i]->name;
// putting the data in a list I created before
array_push($list, array(''.$element->year.'-'.$element->month.'-'.$element->day, $element->breakdown[0]->name, $element->breakdown[0]->breakdown[$i]->name, $element->breakdown[0]->breakdown[$i]->counts[0], $element->breakdown[0]->breakdown[$i]->counts[1]));
}
else
{
// Break the loop. All the objects are in the row. So, if there is not any for i=45 then there won't be any for i>45
continue;
}
}
}
где я пытаюсь получить все объекты. Я проверяю, существуют ли объекты. Если они этого не делают, я хочу остановить этот цикл (второй цикл).
Вы можете разорвать петлю с перерывом.
для дополнительной информации: http://php.net/manual/en/control-structures.break.php
foreach ($json->report->data as $element)
{
// putting an excessive number for i
for ($i=0;$i<100;$i++)
{
// checking if the object exists
if (isset($element->breakdown[0]->breakdown[$i]->name))
{
echo $element->breakdown[0]->breakdown[$i]->name;
// putting the data in a list I created before
array_push($list, array(''.$element->year.'-'.$element->month.'-'.$element->day, $element->breakdown[0]->name, $element->breakdown[0]->breakdown[$i]->name, $element->breakdown[0]->breakdown[$i]->counts[0], $element->breakdown[0]->breakdown[$i]->counts[1]));
}
else
{
// Break the loop.
break;
}
}
}
использование break
вместо continue
выйти из цикла
break
останавливает токовую петлю continue
переходит к следующей итерации цикла.
Чтобы выйти из обеих петель используйте break 2;