X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Оптимизация задачи перевода слов в язык t9
neitrosha
neitrosha
Topic Starter сообщение 30.3.2012, 13:48; Ответить: neitrosha
Сообщение #1


Придумал задачку для общего развития - преобразование любых слов в представление телефонного языка t9, мы вводим слово, а программа нам выдает, какие цифры нужно нажать на телефоне, чтоб мы смогли напечатать всё это. Вот, собственно код

<?php

if (isset($_POST['go'])) $word=$_POST['word'];
else exit();
$t_9_full=array(
'1'=>',.?/!"\'@#$%^&*()_-+=',
'2'=>'abc',
'3'=>'def',
'4'=>'ghi',
'5'=>'jkl',
'6'=>'mno',
'7'=>'pqrs',
'8'=>'tuv',
'9'=>'wxyz',
'0'=>' '
);

echo '<pre>';  var_export($t_9_full); echo '</pre><br>';

function t9(&$word){ //передача параметра по ссылке, чтобы работало не с копией значения, а с самим значением
global $t_9_full;
$len=strlen($word); //узнаем длину слова
$word = chunk_split($word, 1, '|');
/*
Разбивает строку на фрагменты, в данном случае - через каждую букву ставит
разделитель
*/

$len++;
/*
вместе с лишним символом хавает
*/
$word=explode("|", $word, $len);
/*
создаем массив, разбив его на символы
*/
echo '<pre>';  var_export($word); echo '</pre><br>';
$len--; //из-за нумерации массива - -1
$word_in_t9="";
      
        for ($m=0; $m!=$len; $m++){
                    foreach($t_9_full as $key=>$sense){
                    $pos = stristr($sense, $word[$m]);
                        if ($pos != False)  {
                            $word_in_t9=$word_in_t9.$key;
                            break;
                                            }
                                                        }
                                          }
unset($word,$GLOBALS['t_9_full']);
/*
$pos и $len можно не удалять, поскольку они удалятся сами, так ведь?
*/
    return $word_in_t9;  
    }
$word = t9($word);
echo $word;


Работать всё работает (для английских слов или предложений, над русскими я еще не думал), такая просьба - как можно весь этот код оптимизировать/ускорить? Где есть мои просчеты?
Поскольку правильно программировать нужно начинать учиться с самого начала, не хочу потом переучиваться. Жду советов, заранее спасибо.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Свежие базы ключевых слов с подсказок гугла!
126 Krok 68708 Вчера, 5:04
автор: Krok
Горячая тема (нет новых ответов) Hyper.hosting - сервера под любые задачи [разрешены dmca, гэмблинг, адалт и пр.]
Лучшие сервера по доступной цене
32 Hyper_Hosting 9165 15.4.2024, 13:03
автор: Hyper_Hosting
Открытая тема (нет новых ответов) Англоязычный SEO-копирайтинг от $3/100 слов от NeedmyLink | Первая статья бесплатно
4 Needmylink1 1345 12.4.2024, 23:43
автор: Needmylink1
Открытая тема (нет новых ответов) 📌 Telegram Prime - софт для автоматизации telegram разработанный специально под задачи бизнеса
🏆 Единственный комбайн для популяризации вашей компании в теле
15 leviathan 3629 5.4.2024, 15:48
автор: leviathan
Горячая тема (нет новых ответов) ZennoPoster 5 - Автоматизируйте любые задачи в интернете
356 nuaru_ 306994 14.3.2024, 11:46
автор: nuaru_


 



RSS Текстовая версия Сейчас: 25.4.2024, 4:41
Дизайн