public static function sort(array $array, string $field, string $direction = 'ASC', $method = SORT_REGULAR) : array
     {
         if (count($array) > 0) {

             // Create the helper array
             foreach ($array as $key => $row) {
                 $helper[$key] = function_exists('mb_strtolower') ? mb_strtolower(Arr::get($row, $field)) : strtolower(Arr::get($row, $field));
             }

             // Sort
             if($method === SORT_NATURAL) {
                 natsort($helper);
                 ($direction === 'DESC') and $helper = array_reverse($helper);
             } elseif ($direction == 'DESC') {
                 arsort($helper, $method);
             } else {
                 asort($helper, $method);
             }

             // Rebuild the original array
             foreach ($helper as $key => $val) {
                 $result[$key] = $array[$key];
             }

             // Return result array
             return $result;
         }
     }