Написал прогу на PHP... Код (Text): $ar[0]='а'; $at[]="А"; $ar[1]="б"; $at[]="Б"; $ar[2]="в"; $at[]="В"; $ar[3]="г"; $at[]="Г"; $ar[4]="д"; $at[]="Д"; $ar[5]="е"; $at[]="Е"; $ar[]="ё" ; $at[]="Ё"; $ar[]="ж" ; $at[]="Ж"; $ar[]="з" ; $at[]="З"; $ar[]="и" ; $at[]="И"; $ar[]="й" ; $at[]="Й"; $ar[]="к" ; $at[]="К"; $ar[]="л" ; $at[]="Л"; $ar[]="м" ; $at[]="М"; $ar[]="н" ; $at[]="Н"; $ar[]='о' ; $at[]="О"; $ar[]="п" ; $at[]="П"; $ar[]="р" ; $at[]="Р"; $ar[]="с" ; $at[]="С"; $ar[]="т" ; $at[]="Т"; $ar[]="у" ; $at[]="У"; $ar[]="ф" ; $at[]="Ф"; $ar[]="х" ; $at[]="Х"; $ar[]="ц" ; $at[]="Ц"; $ar[]="ч" ; $at[]="Ч"; $ar[]="ш" ; $at[]="Ш"; $ar[]="щ" ; $at[]="Щ"; $ar[]="ы" ; $at[]="Ы"; $ar[]="ь" ; $at[]="Ь"; $ar[]="ъ" ; $at[]="Ъ"; $ar[]="э" ; $at[]="Э"; $ar[]="ю" ; $at[]="Ю"; $ar[]="я" ; $at[]="Я"; //------------------------ $is = "абвгдежзийклмнопрст" ; $arx = str_split( $is ) ; $res = null ; //------------------------- function if_ar($str, $ar){ $res=false; for ($i=0; $i<count($ar); $i++){ if ($str==$ar[$i]){ $res=true; break; } } return $res; } //------------------------- for ($i=0; $i<count ($arx); $i++){ if (if_ar($arx[$i], $ar)){ echo $i; } } В общем, если в массивах и на входе использовать русские буквы, то ниче не работает, а если латиницу, то все ништяк. Почему?
У PHP с UTF-8 средне.. Программа же слегка сюрреалистическая .. А что ты вообще задумал? Сконвертировать маленькие буквы в большие? . Конкретно в данном случае проблема в str_split - эта функция UTF-8 не понимает.
Тут вообще муть какая то echo ord ("А")."\n"; echo ord ("Б")."\n"; echo ord ("В")."\n"; echo "\n"; echo ord ("A")."\n"; echo ord ("B")."\n"; echo ord ("C")."\n"; выдает результат 208 208 208 65 66 67