@ 2017-12-13T01:06:37Z <?php
$array=[
(object)['latitude'=>32.7308117,'longitude'=>-117.1492819,'id'=>'Museum1','h'=>2],
(object)['latitude'=>32.7352917,'longitude'=>-117.1491861,'id'=>'Zoo','h'=>6],
(object)['latitude'=>32.72098,'longitude'=>-117.1739938,'id'=>'Maritime Museum','h'=>2],
(object)['latitude'=>32.7631797,'longitude'=>-117.2276874,'id'=>'Seaworld','h'=>6],
(object)['latitude'=>32.8645458,'longitude'=>-117.2517528,'id'=>'Birch','h'=>3],
(object)['latitude'=>32.7700125,'longitude'=>-117.2532622,'id'=>'Belmont','h'=>4],
(object)['latitude'=>32.6558527,'longitude'=>-117.1563085,'id'=>'Aquatica','h'=>4],
(object)['latitude'=>32.6894411,'longitude'=>-117.1829472,'id'=>'Coronado','h'=>2],
(object)['latitude'=>32.7803722,'longitude'=>-117.0442201,'id'=>'Lake Murray','h'=>2],
(object)['latitude'=>33.0051734,'longitude'=>-117.016139,'id'=>'Poway Lake','h'=>2]
];
$tally=0; // init the $tally for arithmetic+assignment operator
foreach($array as $row){
if(($tally+=$row->h)>10){ // assign&increase $tally and check new $tally
$result[]=$group; // store the previously grouped rows
$group=[$row]; // store current row as first element of new group
$tally=$row->h; // reset $tally to current row's h value
}else{
$group[]=$row;
}
}
$result[]=$group;
var_export($result);
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 7.3.0 - 7.3.33 , 7.4.0 - 7.4.33 , 8.0.0 - 8.0.30 , 8.1.0 - 8.1.29 , 8.2.0 - 8.2.20 , 8.3.0 - 8.3.8 array (
0 =>
array (
0 =>
(object) array(
'latitude' => 32.7308117,
'longitude' => -117.1492819,
'id' => 'Museum1',
'h' => 2,
),
1 =>
(object) array(
'latitude' => 32.7352917,
'longitude' => -117.1491861,
'id' => 'Zoo',
'h' => 6,
),
2 =>
(object) array(
'latitude' => 32.72098,
'longitude' => -117.1739938,
'id' => 'Maritime Museum',
'h' => 2,
),
),
1 =>
array (
0 =>
(object) array(
'latitude' => 32.7631797,
'longitude' => -117.2276874,
'id' => 'Seaworld',
'h' => 6,
),
1 =>
(object) array(
'latitude' => 32.8645458,
'longitude' => -117.2517528,
'id' => 'Birch',
'h' => 3,
),
),
2 =>
array (
0 =>
(object) array(
'latitude' => 32.7700125,
'longitude' => -117.2532622,
'id' => 'Belmont',
'h' => 4,
),
1 =>
(object) array(
'latitude' => 32.6558527,
'longitude' => -117.1563085,
'id' => 'Aquatica',
'h' => 4,
),
2 =>
(object) array(
'latitude' => 32.6894411,
'longitude' => -117.1829472,
'id' => 'Coronado',
'h' => 2,
),
),
3 =>
array (
0 =>
(object) array(
'latitude' => 32.7803722,
'longitude' => -117.0442201,
'id' => 'Lake Murray',
'h' => 2,
),
1 =>
(object) array(
'latitude' => 33.0051734,
'longitude' => -117.016139,
'id' => 'Poway Lake',
'h' => 2,
),
),
) Output for 7.1.0 - 7.1.33 , 7.2.0 - 7.2.33 array (
0 =>
array (
0 =>
stdClass::__set_state(array(
'latitude' => 32.7308117,
'longitude' => -117.1492819,
'id' => 'Museum1',
'h' => 2,
)),
1 =>
stdClass::__set_state(array(
'latitude' => 32.7352917,
'longitude' => -117.1491861,
'id' => 'Zoo',
'h' => 6,
)),
2 =>
stdClass::__set_state(array(
'latitude' => 32.72098,
'longitude' => -117.1739938,
'id' => 'Maritime Museum',
'h' => 2,
)),
),
1 =>
array (
0 =>
stdClass::__set_state(array(
'latitude' => 32.7631797,
'longitude' => -117.2276874,
'id' => 'Seaworld',
'h' => 6,
)),
1 =>
stdClass::__set_state(array(
'latitude' => 32.8645458,
'longitude' => -117.2517528,
'id' => 'Birch',
'h' => 3,
)),
),
2 =>
array (
0 =>
stdClass::__set_state(array(
'latitude' => 32.7700125,
'longitude' => -117.2532622,
'id' => 'Belmont',
'h' => 4,
)),
1 =>
stdClass::__set_state(array(
'latitude' => 32.6558527,
'longitude' => -117.1563085,
'id' => 'Aquatica',
'h' => 4,
)),
2 =>
stdClass::__set_state(array(
'latitude' => 32.6894411,
'longitude' => -117.1829472,
'id' => 'Coronado',
'h' => 2,
)),
),
3 =>
array (
0 =>
stdClass::__set_state(array(
'latitude' => 32.7803722,
'longitude' => -117.0442201,
'id' => 'Lake Murray',
'h' => 2,
)),
1 =>
stdClass::__set_state(array(
'latitude' => 33.0051734,
'longitude' => -117.016139,
'id' => 'Poway Lake',
'h' => 2,
)),
),
) Output for 5.6.0 - 5.6.40 , 7.0.0 - 7.0.33 array (
0 =>
array (
0 =>
stdClass::__set_state(array(
'latitude' => 32.730811699999997,
'longitude' => -117.14928190000001,
'id' => 'Museum1',
'h' => 2,
)),
1 =>
stdClass::__set_state(array(
'latitude' => 32.735291699999998,
'longitude' => -117.14918609999999,
'id' => 'Zoo',
'h' => 6,
)),
2 =>
stdClass::__set_state(array(
'latitude' => 32.720979999999997,
'longitude' => -117.17399380000001,
'id' => 'Maritime Museum',
'h' => 2,
)),
),
1 =>
array (
0 =>
stdClass::__set_state(array(
'latitude' => 32.763179700000002,
'longitude' => -117.22768739999999,
'id' => 'Seaworld',
'h' => 6,
)),
1 =>
stdClass::__set_state(array(
'latitude' => 32.864545800000002,
'longitude' => -117.25175280000001,
'id' => 'Birch',
'h' => 3,
)),
),
2 =>
array (
0 =>
stdClass::__set_state(array(
'latitude' => 32.7700125,
'longitude' => -117.25326219999999,
'id' => 'Belmont',
'h' => 4,
)),
1 =>
stdClass::__set_state(array(
'latitude' => 32.655852699999997,
'longitude' => -117.15630849999999,
'id' => 'Aquatica',
'h' => 4,
)),
2 =>
stdClass::__set_state(array(
'latitude' => 32.689441100000003,
'longitude' => -117.1829472,
'id' => 'Coronado',
'h' => 2,
)),
),
3 =>
array (
0 =>
stdClass::__set_state(array(
'latitude' => 32.780372200000002,
'longitude' => -117.0442201,
'id' => 'Lake Murray',
'h' => 2,
)),
1 =>
stdClass::__set_state(array(
'latitude' => 33.005173399999997,
'longitude' => -117.016139,
'id' => 'Poway Lake',
'h' => 2,
)),
),
) preferences:dark mode live preview
218.18 ms | 406 KiB | 296 Q