Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Функция сравнения строк не зависимая от локали

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
vitaliy_mad
Отправлено: 03 Февраля, 2009 - 19:25:05
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


Помог: 0 раз(а)




Возвращает значения аналогично strcmp
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. function cmp($a,$b)
  3. {
  4.     $simb="()_0123456789";
  5.     $simb.="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
  6.     $simb.="АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя";
  7.     if ((strcmp($a,"")==0)and(strcmp($b,"")==0))
  8.     {
  9.         return 0;
  10.     }
  11.     if ((strcmp($a,"")==0))
  12.     {
  13.         return 1;
  14.     }
  15.     if ((strcmp($b,"")==0))
  16.     {
  17.         return -1;
  18.     }
  19.     if (strpos($simb,$a[0])<strpos($simb,$b[0]))
  20.     {
  21.         return -1;
  22.     }
  23.     if (strpos($simb,$a[0])>strpos($simb,$b[0]))
  24.     {
  25.         return 1;
  26.     }
  27.     if (strpos($simb,$a[0])==strpos($simb,$b[0]))
  28.     {
  29.         $c=substr($a,1);
  30.         $d=substr($b,1);
  31.         $r=cmp($c,$d);
  32.         return $r;
  33.     }
  34.  
  35. }
  36. ?>

(Добавление)
Колга под линуксом понадобилось отсортировать строковый массив, появилась неточность в сортировке с кириллицей... алфавит несколько раз повторялся... напсиал функцию и проблема решилась...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Пользовательские функции »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB