this data looks like
array (size=2) 0 => array (size=6) 'name' => string 'a new event' (length=11) 'start_time' => string '2015' (length=4) 'end_time' => string '2015' (length=4) 'subscription_start_time' => string '2015' (length=4) 'subscription_end_time' => string '2015' (length=4) 'capacity' => string '5' (length=1) 1 => array (size=6) 'name' => string 'a new event 2' (length=13) 'start_time' => string '2015' (length=4) 'end_time' => string '2015' (length=4) 'subscription_start_time' => string '2015' (length=4) 'subscription_end_time' => string '2015' (length=4) 'capacity' => string '5' (length=1) now see start_time property in both objects.. want group objects same start_time when data of 100 objects can loop through them , put objects same start_time in single array of objects in object...
i know simple looping of foreach been long since have dealt object grouping confusing me now. ?
try following.
function groupby($array, $key) { $groupeddata = []; foreach ($array $value) { if ( ! array_key_exists($value[$key], $groupeddata)) { $groupeddata[$value[$key]] = []; } $groupeddata[$value[$key]][] = $value; } return $groupeddata; }
Comments
Post a Comment