Как отсортировать по столбцу в лексикографическом порядке в php? - PullRequest
0 голосов
/ 24 октября 2018

Я работаю над сайтом, на котором я хочу отсортировать все на основе customer_name (это первый столбец таблицы) ..

Ниже приведен мой запрос вУ меня есть php-код:

.....
.....
$y = isset($filters['items']['yaxis']) ? $filters['items']['yaxis'] : null;
$x = isset($filters['items']['xaxis']) ? $filters['items']['xaxis'] : null;

switch ($y) {
    case 'customer_name':
        $query->order( columns: $y . ' ' . (strtoupper($x) == 'DESC' ? 'DESC' : 'ASC'));    
        break;
}

Постановка проблемы :

Мне интересно, какие изменения я должен внести в SQL-запрос выше, чтобы он сортировал все на основетолько customer_name, но сортировка должна следовать логике, указанной ниже:

let arr = [
  '1 Hello',
  '2 Hello',
  '3 Hello',
  '4 Hello',
  ';1',
  'z',
  '%1',
  '110 Hello',
  '100 Hello',
  'a',
  'Z',
  '00',
  '21 Hello',
  '9  Hello',
  '13 Hello',
  '10000 Hello',
  '0 Hello',
  'A'
  ];


arr.sort( (a, b) => {
  return a.localeCompare(b, 'en', {
    numeric: true
  })
} ).forEach( ml => { console.log(ml) });

Приведенный выше Javascript печатает следующее o / p:

;1
%1
00
0 Hello
1 Hello
2 Hello
3 Hello
4 Hello
9  Hello
13 Hello
21 Hello
100 Hello
110 Hello
10000 Hello
a
A
z
Z
=> undefined

Так что я хочу отсортировать вседанные о customer_name в моем вышеупомянутом php-файле, но в лексикографическом порядке, как и мой вышеупомянутый javascript.

...