Intereting Posts
Как установить сопоставление таблицы с utf_general_ci с помощью doctrine2 Проверка входа пользователя при определенных условиях Как зашифровать открытый текст с AES-256 CBC в PHP с помощью openssl ()? PHP получить строку между тегом Продолжить заполнение формы HTML после закрытия и повторного открытия Использование preg_match для определения надежного пароля Группа Concat, использующая запрос «Красноречивый / сырой ларавел» Вставка данных в таблицу в базе данных WordPress с использованием WordPress $ wpdb Обработка сеанса базы данных php в IE8 исключая URL-адреса из ссылок на пути? Модуль Magento Fatal error: Class 'Mage_Cashondelivery_Helper_Data' не найден в \ xampp \ htdocs \ magento \ app \ Mage.php в строке 516 Symfony 1.4 – Не удается загрузить cacheHelper.php Удаленная отладка не останавливается на контрольных точках Получите последние значения в GROUP BY, используя Laravel Rloquent ORM drupal разделяет заголовок и нижний колонтитул кода шаблона

Убедитесь, что строка соответствует требуемому формату

Я пытаюсь проверить, следует ли строка следовать определенному формату, проверяя, что:

  • item[]= повторяется четыре раза
  • item[]= сопровождается номером и & символом (например, item[]=2& ), за исключением последнего номера, & после него
  • Числа после item[]= состоят только из 1-4 и могут быть в любом порядке, но не повторяться

Вот несколько примеров того, как будет выглядеть строка (как вы можете видеть, порядок изменения числа) – обратите внимание, что будет только одна строка за раз!

1)

 $list = 'item[]=1&item[]=3&item[]=2&item[]=4'; 

2)

 $list = 'item[]=3&item[]=1&item[]=4&item[]=2'; 

3)

 $list = 'item[]=4&item[]=3&item[]=2&item[]=1'; 

Вот как далеко у меня получилось:

 // check item[]= is repeated four times if(substr_count($list, "item[]=") == '4') { // strip the string to only numbers, then will need to check each number if between 1-4 $numbers = preg_replace("/[^0-9]/","",$list); // strip the string to only numbers and the character after it, will need to ensure it is & (except for the last number) preg_replace("/[^0-9]/","",$list + 1); }