[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как работает preg_match???
Razzwan

$value ="asdfasdfasfasdfasdf";
$pattern = '/^[a-z0-9_-]+$/i';
preg_match($pattern, $value, $matches);
$this->fields[$key] = $matches[0];

Что не так? Последняя строка выдает ошибку: Undefined offset: 0. Все это внутри метода класса.

_____________
Youtube канал WebDeveloper->Run()
Сайт для души
Gitter
Zzepish
Обращение к несуществующему элементу массива
volter9
Razzwan
Попробуй может быть так:
$value   = "asdfasdfasfasdfasdf";
$pattern = '/^[a-z0-9_-]+$/i';

preg_match($pattern, $value, $matches);

if (isset($matches[0])) {
$this->fields[$key] = $matches[0];
}


А вообще, покажи весь код метода. У меня такое ощущение, что у тебя $value не подходит под $pattern, по этой причине preg_match заполняет пустой массив.

_____________
Мой блог
Razzwan
Да, так и было. Спасибо! Я просто не учел, что это выполняется в цикле, и туда попадает пустое значение $value

_____________
Youtube канал WebDeveloper->Run()
Сайт для души
Gitter
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.