Я пытаюсь проверить, следует ли строка следовать определенному формату, проверяя, что:
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); }