note 112278 deleted from function.ksort by danbrown

From: Date: Wed, 05 Jun 2013 17:45:26 +0000
Subject: note 112278 deleted from function.ksort by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-195071@lists.php.net to get a copy of this message
Note Submitter: daniil dot rakhmatulin at gmail dot com ---- lists gruping list = goupBy(list, ['guping_field' => 'sorting_order', ... ]) function groupBy($list, array $keys) { if (!empty($keys)) { foreach ($keys as $key => $sort) { $temp = []; foreach ($list as $row) { if (array_key_exists($key, $row)) { if (is_object($row)) { $temp[(string)$row->$key][] = $row; } elseif (is_array($row)) { $temp[(string)$row[$key]][] = $row; } } } if (strtolower($sort) == 'asc') { ksort($temp, SORT_NATURAL); } elseif (strtolower($sort) == 'desc') { krsort($temp, SORT_NATURAL); } $list = []; foreach ($temp as $group) { foreach ($group as $row) { $list[] = $row; } } } } return $list; }

« previous php.notes (#195071) next »