Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.08.2011, 16:13   #1
Даниил_глазко
Форумчанин
 
Аватар для Даниил_глазко
 
Регистрация: 25.10.2010
Сообщений: 155
Вопрос Как получить значение и 5 соседних слов

Здравствуйте. Простите за название темы.Есть строка ( например: 1 2 3 4 5 7 8 9 t 11 12 13 14 15 16 17 18 19 20) из ней нужно вытащить 4 5 6 7 8 9 t 11 12 13 14 15.Заранее благодарен.
Даниил_глазко вне форума Ответить с цитированием
Старый 05.08.2011, 16:18   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

По какому принципу это должно выниматься? Берем 4-е значение и берем интервал [x,x+5]? А t какую роль играет?
motorway вне форума Ответить с цитированием
Старый 05.08.2011, 16:56   #3
voff
 
Регистрация: 05.08.2011
Сообщений: 3
По умолчанию

Цитата:
Сообщение от motorway Посмотреть сообщение
По какому принципу это должно выниматься? Берем 4-е значение и берем интервал [x,x+5]? А t какую роль играет?
Как сложно оО
Я думаю человек хочет получить пять слов слева от t и пять слов справа от t
voff вне форума Ответить с цитированием
Старый 05.08.2011, 17:08   #4
voff
 
Регистрация: 05.08.2011
Сообщений: 3
По умолчанию

первое что пришло в голову
Код:
$str = '1 2 3 4 5 7 8 9 t 11 12 13 14 15 16 17 18 19 20';
$arr = explode(' ', $str);
$i = 0;
$res = '';
foreach($arr as $v){
    if($v == 't'){
        for($j=1; $j <= 5; $j++){
            $res = $arr[$i-$j] . $res . $arr[$i+$j];
        }
    }
    $i++;
}
echo ($res);
voff вне форума Ответить с цитированием
Старый 05.08.2011, 17:12   #5
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Цитата:
Сообщение от voff Посмотреть сообщение
Как сложно оО
Я думаю человек хочет получить пять слов слева от t и пять слов справа от t
Вы сначала посчитайте, сколько он написал слов слева, а потом уже пишите это.
Он написал 4 5 6 7 8 9 - это ШЕСТЬ
Не заметили?
motorway вне форума Ответить с цитированием
Старый 05.08.2011, 17:21   #6
voff
 
Регистрация: 05.08.2011
Сообщений: 3
По умолчанию

Цитата:
Сообщение от motorway Посмотреть сообщение
Вы сначала посчитайте, сколько он написал слов слева, а потом уже пишите это.
Он написал 4 5 6 7 8 9 - это ШЕСТЬ
Не заметили?
Цитата:
Есть строка ( например: 1 2 3 4 5 7 8 9 t 11 12 13 14 15 16 17 18 19 20)
Тут шестерки нет, далее, видимо, просто ошибся. Ну и тема топика как бы намекает "Как получить значение и 5 соседних слов"

А вообще, автору, конечно, стоило бы уточнить вопрос
voff вне форума Ответить с цитированием
Старый 05.08.2011, 18:13   #7
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Да, но потом она откуда-то вдруг взялась. А потом где-то упадёт мост или паровоз взлетит <:>
motorway вне форума Ответить с цитированием
Старый 05.08.2011, 19:20   #8
8oOoRPM
Форумчанин
 
Регистрация: 12.11.2010
Сообщений: 146
По умолчанию

наверное так...
Код:
  $str = '1 2 3 4 5 7 8 9 t 11 12 13 14 15 16 17 18 19 20';
  $arr = explode(' ', $str);
  $ind = array_search('t', $arr);

  if ( is_int($ind) )
    for( $i=$ind-5; $i<$ind+5; $i++ )
       echo $arr[$i].' ';
8oOoRPM вне форума Ответить с цитированием
Старый 05.08.2011, 19:40   #9
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Эта конструкция, стоит отметить, выведет на конце пробел, так что его надо будет убрать
motorway вне форума Ответить с цитированием
Старый 05.08.2011, 20:23   #10
8oOoRPM
Форумчанин
 
Регистрация: 12.11.2010
Сообщений: 146
По умолчанию

... rtrim() -при return
8oOoRPM вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как получить следующее значение поля ID amator_roma Помощь студентам 5 22.06.2011 16:01
Как получить значение с сайта? Dux Работа с сетью в Delphi 1 26.03.2011 18:16
Как получить значение выделенных ячеек SHUR@ Microsoft Office Excel 4 14.02.2010 18:06
как получить значение переменной smoke888 PHP 3 20.06.2008 02:11
Как получить значение системной переменной в С++ PersonaGrata Общие вопросы C/C++ 2 29.02.2008 22:14