Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Умный 'stristr'
Форумы портала PHP.SU » » Вопросы новичков » Умный 'stristr'

Страниц (1): [1]
 

1. antobra - 15 Сентября, 2011 - 17:36:19 - перейти к сообщению
Подскажите как осуществить следующее:

Есть строка
$a = 'One Two Three Four FIVE Six Seven, Eight, Nine, Ten, Eleven, Twenty';

Есть stristr, который я использую как поиск в строке.
Выглядит это так

if (stristr($a, "two")) { echo 'yes'; } else { echo 'no'; }

Сейчас выводится yes. А что если мне нужно поискать не только слово two, но и допустим другие слова (допустим разом two, one, table, eye, window и др. слова). На каждую строку делать подобный код - нелепо. Есть ли другие решения?


От меня +1 в Спасибо.
2. OrmaJever - 15 Сентября, 2011 - 17:44:52 - перейти к сообщению
Растерялся
PHP:
скопировать код в буфер обмена
  1. $arr = array('two', 'one', 'table', 'eye', 'window');
  2. $a = 'One Two Three Four FIVE Six Seven, Eight, Nine, Ten, Eleven, Twenty';
  3.  
  4. for($i=0;$i<sizeof($arr);++$i) {
  5.         if (stristr($a, $arr[$i])) { echo 'yes<br>'; } else { echo 'no<br>'; }
  6. }
3. antobra - 15 Сентября, 2011 - 18:02:16 - перейти к сообщению
Спасибо, вот не догадался))
4. DeepVarvar - 15 Сентября, 2011 - 18:20:05 - перейти к сообщению
На плюсик не претендую, но... так аккуратнее:
PHP:
скопировать код в буфер обмена
  1. $arr = array('two', 'one', 'table', 'eye', 'window');
  2. $a = 'One Two Three Four FIVE Six Seven, Eight, Nine, Ten, Eleven, Twenty';
  3. foreach($arr as $i) echo (stristr($a,$i)) ? "yes<br />" : "no<br />";

 

Powered by ExBB FM 1.0 RC1