Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Поиск вхождения значения, разделенных запятыми
 
 автор: RaiDeRz   (25.11.2008 в 11:37)   письмо автору
 
 

Добрый день, у меня есть текст вида:
2,7,8,9,10,0,23,12,13,14,15,16,1,18,19,17,3,21

И мне нужно, чтобы я мог узнать есть ли тут например значение "2" в списке, к сожелению у меня всегда получаеться только, то что он видет и все 23, 21 и т.п. где есть "2"... Как бы это реализовать?

  Ответить  
 
 автор: cheops   (25.11.2008 в 12:08)   письмо автору
 
   для: RaiDeRz   (25.11.2008 в 11:37)
 

Вы хотите решить проблему именно при при помощи регулярных выражений? Если нет, то можно воспользоваться следующий решением
<?php
  
// Исходная строка
  
$str "2,7,8,9,10,0,23,12,13,14,15,16,1,18,19,17,3,21";
  
// Разбиваем строку в массив
  
$arr explode(","$str);
  
// Проверяем наличие числа 2
  
if(in_array(2$arr)) echo "Число 2 присутствует";
  else echo 
"Число 2 отсутсвует";
?>

  Ответить  
 
 автор: xx77   (25.11.2008 в 12:11)   письмо автору
 
   для: RaiDeRz   (25.11.2008 в 11:37)
 

наверное explode()
и проверка значения
in_array()

Выражениями не очень прямо получается
<pre><?
$txt 
'2,7,8,9,10,0,23,12,13,14,15,16,1,18,19,17,3,21';

preg_match_all('#(?:,|^)2(?:,|$)#'$txt$out);
print_r($out);
?>

  Ответить  
 
 автор: RaiDeRz   (25.11.2008 в 14:42)   письмо автору
 
   для: xx77   (25.11.2008 в 12:11)
 

Спасибо, все конечно хорошо, но тока забыл сказать, что это надо бы на posix реализовать.... я это просто в MySQL запросе RLIKE использую.....

  Ответить  
 
 автор: Trianon   (25.11.2008 в 15:28)   письмо автору
 
   для: RaiDeRz   (25.11.2008 в 14:42)
 

в MySQL есть функция FIND_IN_SET()
Именно для этой цели.

  Ответить  
 
 автор: RaiDeRz   (25.11.2008 в 16:15)   письмо автору
 
   для: Trianon   (25.11.2008 в 15:28)
 

полезная функция =)) спасибо, не знал )) очень на самом деле помогает, чтобы не делать всякие крос таблицы =)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования