Echo语句打印的值超出预期


Echo statement printing more values than expected

我调用api,并在响应中收到JSON,其中我访问数组数据,如下所示。问题是JSON返回50多个对象,但我只想回10个。在我调用的URL中,我可以添加一个参数,将JSON响应限制为10,并验证只返回10个。问题是我的echo语句仍然打印所有50多个。

1)当我的JSON只返回10时,我怎么可能回50+ ?

2)是否有一个For循环,我可以包括在下面,可以实现只重复10?

<?php
   $OfficeChartData = file_get_contents("http://api.xxxx...");
   if (!empty($OfficeChartData)) {
       $OfficeCharts = json_decode($OfficeChartData, true);
       foreach ($OfficeCharts['value'] as $data) {
           echo "<p>" . $data['Position']['Title'] . "</p>";
       }
   }
?>

执行如下操作:

<?php
   $OfficeChartData = file_get_contents("http://api.xxxx...");
   if (!empty($OfficeChartData)) {
       $OfficeCharts = json_decode($OfficeChartData, true);
       $cnt = 0;
       foreach ($OfficeCharts['value'] as $data) {
           if($cnt==10)break;
           echo "<p>" . $data['Position']['Title'] . "</p>";
           $cnt++;
       }
   }
?>