|
|
|
Почему так сортируются строки?
|
|||
|---|---|---|---|
|
#18+
Замыкая круг. Разработчик в принципе подтвердил моё рассуждение в 18564206 , только вот никаких псевдочисел нет: "In ANSI collation, any number (or string that is in canonic numeric form) is collated numerically, before all non-numeric strings." Причём это не всегда было так, а начиная с какой-то версии (не сказали с какой, но видимо c довольно давней). Не важен ни результат $isvalidnum, ни возможный <MAXNUMBER> при "классической" проверке на число: n=+n. Не стал бы и писать об этом, но механизм сортировки один из "ядерных", и его непонятное поведение меня встревожило. Теперь успокоили :) Всем спасибо, кто поучаствовал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2015, 19:52 |
|
||
|
Почему так сортируются строки?
|
|||
|---|---|---|---|
|
#18+
Alexey Maslov"In ANSI collation, any number (or string that is in canonic numeric form) is collated numerically, before all non-numeric strings." Причём это не всегда было так, а начиная с какой-то версии (не сказали с какой, но видимо c довольно давней). Это с SPJ932 присутствующем в продукте еще с 1993(!) года. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2015, 23:41 |
|
||
|
Почему так сортируются строки?
|
|||
|---|---|---|---|
|
#18+
servit, спасибо, правда я и тогда всё понял :). Однако лучше бы для большей понятности автор поста употребил оператор ]], а не ], т.к. ] трактуется как "следует-за в порядке кодов символов без учёта специфики числовой сортировки". Для преодоления этого недостатка и был когда-то добавлен в язык Стандарта ISO/1995 оператор ]] - "следует-за в порядке действующей Collation". Мой старый пример, расширенный примером автора, наглядно показывает разницу: Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2016, 13:57 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=39254255&tid=1556460]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 142ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...