如何检查 JSON 对象是否存在
How to check if JSON object exists
我制作了一个关于 Adobe Analytics API 代码的 post。我正在使用代码来检索称为 'breakdown' 的第一个和第二个元素(维度)。数量取决于我们拥有的该元素的数据。
我正在使用 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;
}
}
}
我试图获取所有对象的地方。我正在检查对象是否存在。如果他们不这样做,我希望这个循环停止(第二个循环)。
您可以使用 break 来中断循环。
了解更多信息: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;
我制作了一个关于 Adobe Analytics API 代码的 post。我正在使用代码来检索称为 'breakdown' 的第一个和第二个元素(维度)。数量取决于我们拥有的该元素的数据。
我正在使用 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;
}
}
}
我试图获取所有对象的地方。我正在检查对象是否存在。如果他们不这样做,我希望这个循环停止(第二个循环)。
您可以使用 break 来中断循环。 了解更多信息: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;