2012-04-24 2 views
1

У меня есть массив:Php проверить первый второй третий символ в массиве

почтового индекса
$firstPostcode = array(
    'se1', 
    'ec2a', 
    'se16', 
); 

Мне нужно, чтобы проверить пользователь первые 4 символов из почтового индекса ик против выше массива.

Задача, которую я имею, - мне нужно прокручивать один символ за раз. Некоторый ввод может быть 4 символа или 3 с пробелом.

Я попытался PREG матча и в массиве, но не могу решить после нескольких часов прибегая к помощи

Спасибо за любые советы.

Проблема, которую я имею в его соответствие весь массив не начиная 4 символов

+2

Не могли бы вы привести несколько примеров ввода? Также проблемных один раз? И, пожалуйста, отправьте код, который вы попробовали. –

+1

Можете ли вы предоставить нам код с 'preg_match', который вы разрабатываете ... –

+0

[in_array()] (http://us.php.net/manual/en/function.in-array.php) будет выглядеть так будет соответствовать вашим потребностям, какие у вас проблемы с этим? – j08691

ответ

1

Вы должны быть в состоянии соответствовать с одним регулярным выражением:

$firstPostcode = array(
    'se1', 
    'ec2a', 
    'se16', 
); 
$rx = '!^\s*('.implode('|', $firstPostcode).')!i'; 

if (preg_match($rx, $input)){ 
    # postcode matches! 
} 

создает регулярное выражение, как это:

!^\s*(se1 |ec2a|se16)!i 

Это соответствует одному из ваших префиксов в начале строки (сначала пропуская пробелы) и не учитывает регистр.

Смежные вопросы