【发布时间】:2021-10-04 03:22:36
【问题描述】:
我正在使用一个返回类似于下面数组的 JSON 的 API。如图所示,每个 ID 都是十进制的。我需要打印出 ID.x 的每个元素(根据 ID 的整数)和每个元素的标记,然后是总数。 (例如输出:
ID 0.1 = 2 mks
ID 0.2 = 4 mks
ID 0.3 = 1 mks
ID 0 总计 = 7
ID 1.1 = ........)。
<?php
$sampleArray = array(
array("id"=>0.1, "marks"=>2),
array("id"=>0.2, "marks"=>4),
array("id"=>0.3, "marks"=>1),
array("id"=>1.1, "marks"=>6),
array("id"=>1.2, "marks"=>0),
array("id"=>1.3, "marks"=>8),
array("id"=>2.1, "marks"=>7),
array("id"=>2.2, "marks"=>12),
);
$arrayLength = count($sampleArray);
$i = 0;
$x = 0;
while ($i < $arrayLength){
$sum = 0;
$idWhole = floor($sampleArray[$i]['id']);
if(idWhole == $x){
$sum += $sampleArray[$i]['marks'];
echo 'id: '.$sampleArray['id'].', marks: '.$sampleArray[$i]['marks'].'<br>';
}else{
echo '<br>Sum of ID $idWhole is $sum<br>';
$x++;
}
$i++;
}
?>
【问题讨论】:
-
只需将该 ID 值转换为整数,然后在其上实现经典的 control break ...?
-
idWholewithout$是您的代码中的错字
标签: php arrays json multidimensional-array associative-array