Возникла такая проблема: необходимо отсортировать многомерный массив (обработанные данные из БД) с помощью встроенных функций PHP. Выбор пал на array_multisort. Однако при выводе результатов, при сортировке столбца со строковыми значениями, слова на кириллистическую букву «В» ставятся в конец либо в начало массива (в зависимости от порядка). Данные даны в кодировке KOI8-R. set_locale(LC_ALL, «ru_RU.KOI8-R») не помогает. Отсортировать сразу в БД нельзя.
Код:
if($_GET["order_by"] && ($_GET["order_by"] != "date")) {
$column = array();
foreach($vexels_table as $row) {
$column[] = $row[$_GET["order_by"]];
}
if($_GET["order"] == "asc") $order_param = SORT_ASC;
if($_GET["order"] == "desc") $order_param = SORT_DESC;
if(($_GET["order_by"] == "issuer_raw") or ($_GET["order_by"] == "company")) $order_sort = SORT_STRING;
if(($_GET["order_by"] == "debt_l") or ($_GET["order_by"] == "purch_l") or ($_GET["order_by"] == "sale_l")) $order_sort = SORT_NUMERIC;
aray_multisort($column,$order_param,$order_sort,$vexels_table);
}