Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
Риназ
12 / 2 / 2
Регистрация: 16.06.2017
Сообщений: 454
#1

Как сделать цикл для того, чтобы достать лишь 1 слово? - PHP

10.05.2018, 15:15. Просмотров 145. Ответов 8
Метки нет (Все метки)

Всем привет! Есть текст. Из этого текста я достаю 1 предложение, потом разбиваю на слова и помещаю эти слова в массив.
Вопрос: Как сделать цикл, который выводит только 1 слово из массива.
Например: Слово, которое мне нужно, находиться на 5 месте. Мне надо найти это слово с помощью цикла. Если 1-ое слово не ровняется нужному, то надо проверить 2-ое слово и так до последнего слова. Если нужного слова нету, то вывести сообщение (Например: Ошибка!).
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2018, 15:15
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как сделать цикл для того, чтобы достать лишь 1 слово? (PHP):

Как найти слово через цикл?
Всем привет! Можно ли найти слово таким образом: Например: Есть текст: Привет...

Как сделать так чтобы функция не выполнялась до того момента когда она получит второй параметр
Как сделать так чтобы функция не выполнялась до того момента когда она получит...

Как сделать голосование лишь один раз ?
Всем привет ! Сделал голосование на своем сайте, все норм работает, но...

Как сделать чтобы разные пользователи получали данные из бд только для них
Добрый день. Вопрос такой возник, вот у меня есть php страница которая получает...

Как сделать, чтобы в на сайте юзеры могли видеть друг-друга и соединяться для игры?
Как сделать, чтобы в на сайте юзеры могли видеть друг-друга и соединяться для...

Как достать переменную и обработать так чтобы она отображалась в index.tpl?
Здравствуйте:handshake: У меня не обычная проблема) У меня есть админка и мне...

8
Sound84
8 / 8 / 9
Регистрация: 05.03.2018
Сообщений: 49
10.05.2018, 20:57 #2
PHP
1
2
3
4
5
6
7
8
9
10
11
12
foreach($my_array as $str) {
 
 if ($str == ($text)) {
  $result = true;
 }
}
 
if ($result === true) {
echo "Слово найдено";
}else{
echo "Слово не найдено";
}
Как-то так.
0
Риназ
12 / 2 / 2
Регистрация: 16.06.2017
Сообщений: 454
10.05.2018, 21:03  [ТС] #3
Sound84, Не могли бы комментировать строчки? А то я ничего не понял
0
Sound84
8 / 8 / 9
Регистрация: 05.03.2018
Сообщений: 49
10.05.2018, 21:25 #4
Лучший ответ Сообщение было отмечено Риназ как решение

Решение

PHP
1
2
3
4
5
6
7
8
9
10
11
12
foreach($my_array as $str) { // my_array массив со словами переменная $text что нужно найти в массиве
 
 if ($str == ($text)) {
  $result = true; //если нашли вернули истину
 }
}
 
if (isset($result) and $result === true) {
echo "Слово найдено";
}else{
echo "Слово не найдено";
}
Так понятней?
1
Риназ
12 / 2 / 2
Регистрация: 16.06.2017
Сообщений: 454
10.05.2018, 21:30  [ТС] #5
Sound84, Спасибо большое!
0
Риназ
12 / 2 / 2
Регистрация: 16.06.2017
Сообщений: 454
15.05.2018, 16:30  [ТС] #6
Sound84, можно ли найти так:
Например: Есть текст: Привет как дела? У меня хорошо, а у тебя как?
И слово: как
В данном случае в обеих предложениях есть слово как(т.е. всего 2).
Можно ли сделать условие, если их больше 2, то начать цикл, который берет первое слово с текста и ставит после слова. Если такое нету, то берет второе слово и т.д, пока не получится "как дела"?
Т.е. должно получится так: Как Привет(нет), как как(нет), как дела(есть).
0
Sound84
8 / 8 / 9
Регистрация: 05.03.2018
Сообщений: 49
16.05.2018, 10:02 #7
то начать цикл, который берет первое слово с текста и ставит после слова. Если такое нету, то берет второе слово и т.д,
Не особо понятна задача!
0
Риназ
12 / 2 / 2
Регистрация: 16.06.2017
Сообщений: 454
16.05.2018, 12:41  [ТС] #8
Sound84, тогда постараюсь объяснить на примере:
Есть 2 текстовых поля. На первое поле пользователь вводит слова(любые)
раз два три четыре пять
, а на второе предложение(любое)
Сегодня в четыре часа утра показывали кино
И у меня есть большой текст.
Начинается проверка на наличие слов в тексте. В моем тексте 3 раза используется слово "четыре". И т.к. это слово используется больше одного раза, то начинаем взять по одной слове с предложения, который ввел пользователь. И делать это до тех пор, пока в тексте не найдем такую комбинацию слов или пока не закончится предложение. Должно получится так:
четыре Сегодня (такой комбинации в моем тексте нету, продолжаем).
четыре в (нету, продолжаем)
четыре часа (есть, останавливаем цикл и выводим эту комбинацию(четыре часа)).
0
Sound84
8 / 8 / 9
Регистрация: 05.03.2018
Сообщений: 49
16.05.2018, 19:21 #9
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
$caunt = 0;
// $array массив с вашим текстом. 
foreach($my_array as $str) { // my_array массив со словами переменная $text что нужно найти в массиве
 
 if ($str == ($text)) {
  $result = true; //если нашли вернули истину 
 }
 
 
 if ($caunt > 1) {
   $text_str =  $str." ".$tmp_text; 
   break;
 }
  
   foreach($array as $str_text) {
    
    if ($caunt > 1) $tmp_text = $str_text;
    break;
 
        
    if ($str_text == ($str)) {
     $caunt++; 
    }
   
   }
 
}
 
if (isset($result) and $result === true) {
echo "Слово найдено<br />";
print "$text_str";
}else{
echo "Слово не найдено<br />";
print "$text_str";
}
Если правильно понял.
0
16.05.2018, 19:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2018, 19:21
Привет! Вот еще темы с решениями:

форма для комментариев скрыта как сделать чтобы она была открытой.(обычная)
В общем вот сам код &lt;ul id=&quot;commentRoot&quot;&gt; &lt;li id=&quot;newComment&quot;&gt; &lt;div...

Как сделать закладки для того, чтобы спрятать текст?
Приветствую господа. Вопрос такой. Хочу на сайте сделать закладки (вкладки) на...

Как сделать POST запрос на ask.fm для того чтобы задать вопрос человеку из консоли
Подскажите как сделать POST запрос на ask.fm для того чтобы задать вопрос...

Как сделать так чтобы факториал находился лишь из целых неотрицательных чисел?
Приветствую вас, форумчане. Подскажите, как сделать так чтобы факториал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru