[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: слово строго в алфавитном порядке
Skill01
Здравствуйте! подскажите функцию, которая выдавала бы значение символа из алфавита в десятичном формате. На Python и, на сколько я помню, на delphy эта функция называется ord.
Пример:
ord('a') равно 97
ord('b') равно 98
ord('c') равно 99
ord('1') равно 49
ord('2') равно 50
Есть ли такая функция на php?
а вообще, задача, чтобы программа из списка находила слово, буквы или цифры в котором идут подряд без отступов. То есть "abcd" или "1234" подойдет, а "acde" и "1245" уже нет.
Заранее спасибо за помощь!





Спустя 4 минуты, 2 секунды (17.11.2011 - 14:00) Invis1ble написал(а):
Цитата
Есть ли такая функция на php?

есть, может я тебя удивлю, но она называется ord() wink.gif
только учти, что корректно работать будет только с латинницей (или cp1251)

Спустя 9 минут, 54 секунды (17.11.2011 - 14:10) Skill01 написал(а):
Да, ступил, не посмотрел на ord user posted image . Спасибо!)

Спустя 9 часов, 28 минут, 41 секунда (17.11.2011 - 23:39) Skill01 написал(а):
Еще вопрос, как сделать, чтобы функция ord принимала unicode в кавычках? В pythone, например, просто -- ord(u'β')...а как на пхп не знаю, только начинаю с знакомится с этим языком... Нужно для корректного отображения кода всяких там омег, альф, и, например, букв немецкого языка с точками наверху.

Спустя 13 минут, 17 секунд (17.11.2011 - 23:52) Winston написал(а):
ТЫЦ



Спустя 2 минуты, 34 секунды Winston написал(а):
Skill01
Совет тебе: когда смотришь описалово ф-ии на php.net, прокрути страницу до комментов, в них ты можешь найти какие хочешь решения разных задач.

Спустя 5 минут, 28 секунд (17.11.2011 - 23:57) Игорь_Vasinsky написал(а):
может это

Свернутый текст
function ordUTF8($c, $index = 0, &$bytes = null) 
{
$len = strlen($c);
$bytes = 0;

if ($index >= $len)
return false;

$h = ord($c{$index});

if ($h <= 0x7F) {
$bytes = 1;
return $h;
}
else if ($h < 0xC2)
return false;
else if ($h <= 0xDF && $index < $len - 1) {
$bytes = 2;
return ($h & 0x1F) << 6 | (ord($c{$index + 1}) & 0x3F);
}
else if ($h <= 0xEF && $index < $len - 2) {
$bytes = 3;
return ($h & 0x0F) << 12 | (ord($c{$index + 1}) & 0x3F) << 6
| (ord($c{$index + 2}) & 0x3F);
}
else if ($h <= 0xF4 && $index < $len - 3) {
$bytes = 4;
return ($h & 0x0F) << 18 | (ord($c{$index + 1}) & 0x3F) << 12
| (ord($c{$index + 2}) & 0x3F) << 6
| (ord($c{$index + 3}) & 0x3F);
}
else
return
false;
}

Спустя 8 минут, 27 секунд (18.11.2011 - 00:06) Winston написал(а):
Игорь_Vasinsky
Тот вариант который дал я и тот который ты, показывают разные acii коды для β biggrin.gif
Но твой вариант мне кажется, более правильные результаты показывает smile.gif

Спустя 2 минуты, 24 секунды (18.11.2011 - 00:08) Игорь_Vasinsky написал(а):
Цитата
Но твой вариант

мой вариант поиска на http://ru.php.net/ biggrin.gif

Спустя 2 часа, 39 минут, 23 секунды (18.11.2011 - 02:48) vital написал(а):
Цитата (Игорь_Vasinsky @ 17.11.2011 - 22:57)
может это

Свернутый текст
function ordUTF8($c, $index = 0, &$bytes = null) 
{
$len = strlen($c);
$bytes = 0;

if ($index >= $len)
return false;

$h = ord($c{$index});

if ($h <= 0x7F) {
$bytes = 1;
return $h;
}
else if ($h < 0xC2)
return false;
else if ($h <= 0xDF && $index < $len - 1) {
$bytes = 2;
return ($h & 0x1F) << 6 | (ord($c{$index + 1}) & 0x3F);
}
else if ($h <= 0xEF && $index < $len - 2) {
$bytes = 3;
return ($h & 0x0F) << 12 | (ord($c{$index + 1}) & 0x3F) << 6
| (ord($c{$index + 2}) & 0x3F);
}
else if ($h <= 0xF4 && $index < $len - 3) {
$bytes = 4;
return ($h & 0x0F) << 18 | (ord($c{$index + 1}) & 0x3F) << 12
| (ord($c{$index + 2}) & 0x3F) << 6
| (ord($c{$index + 3}) & 0x3F);
}
else
return
false;
}

это и
Цитата
чтобы функция ord принимала unicode в кавычках? В pythone, например, просто -- ord(u'β')...а как на пхп не знаю, только начинаю с знакомится с этим языком...

одна из очень четких демонстраций почему пхп говно.
Вот скажите, зачем.. ЗАЧЕМ вы меняете питон на пхп?

Спустя 5 часов, 19 минут, 7 секунд (18.11.2011 - 08:07) twin написал(а):
Цитата (vital @ 17.11.2011 - 23:48)
одна из очень четких демонстраций почему пхп говно.

Вспоминаются танцоры почему то сразу.

По сабжу. Зачем так мудрить? Ведь можно просто немного изменить алгоритм и сделать гораздо проще. Не нужно посимвольного анализа тут:
   function natSortFilter($str)
{
preg_match_all("#.{1}#u", $str, $arr);
sort($arr[0]);
return ($str == implode('', $arr[0])) ? 'Хорошая, годная строка' : 'Обломись';

}

echo natSortFilter('1234');
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.