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

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

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

 

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

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

тема: При поиске соответствии выдает не верный результат
 
 автор: adebi   (19.06.2011 в 18:00)   письмо автору
 
 

<?php
$b 
400;
$ind '353|350|349|340|51|999999';
echo 
$ind."<br>";
for(
$i=0;$i<$b;$i++){
if(
preg_match("/".$ind."/"$i)){
echo 
$i.' daa<br>';}
}
?>


почему при поиске выдает лишнее "351", "251", "151"

  Ответить  
 
 автор: cheops   (19.06.2011 в 18:06)   письмо автору
 
   для: adebi   (19.06.2011 в 18:00)
 

Все верно, если $i пробегает от 0 до 399, конечно, эти цифры попадают в этот интервал.

  Ответить  
 
 автор: adebi   (19.06.2011 в 19:13)   письмо автору
 
   для: cheops   (19.06.2011 в 18:06)
 

но почему он еще выводит "351", "251", "151" ????

  Ответить  
 
 автор: cheops   (19.06.2011 в 19:20)   письмо автору
 
   для: adebi   (19.06.2011 в 19:13)
 

Это связано с тем, что 51 является частью "351", "251", "151", поправьте $ind следующим образом, чтобы избавиться от этого эффекта
$ind = '^(353|350|349|340|51|999999)$';

  Ответить  
 
 автор: adebi   (19.06.2011 в 19:59)   письмо автору
 
   для: cheops   (19.06.2011 в 19:20)
 

огромное спасибо, все заработало

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

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