У меня есть XML-файл, из которого я могу сгенерировать массив PHP из всех серийных номеров.
Мои требования - найти ВСЕ С пропущенными серийными номерами в этом списке массивов.
Мы можем найти пропущенное число в целых числах массива следующим образом
$sr_array = array("1","2","5","9");
$sr_range = range(min($sr_array),max($sr_array));
$missing = array_diff($sr_range,$sr_array);
Приведенный выше код даст результат в виде («3», «4», «6», «7», «8»)
Основная проблема заключается в том, что серийные номера находятся в алфавитно-цифровой серии.
$sr_array = array("NT1846U6000018",
"NT1846U6000019",
"NT1850U6000033",
"NT1923U6000002",
"NT1941U6023833");
Последовательность вывода должна быть такой же, как в следующей последовательности (начало и конец серии), но без элементов массива, указанных в примере выше.
Шаг - 1: первый элемент массива равен "NT1846U6000018 "и последним элементом массива является" NT1941U6023833 "и необходимо найти все элементы массива между ними. Здесь можно предположить, что элемент символов в серии останется неизменным. то есть. NTxxxxUxxxxxxx
Шаг - 2: Удалить элементы массива, которые мы уже нашли, в файл XML.
NT1846U6000018
...
...
NT1941U6023833
Может кто-нибудь помочь мне создать функцию PHP для поиска пропущенных номеров серий.
Спасибо