например. 'A', '1', 'B', '22', 'C', '523', 'E', '10', 'D', '14', 'G', '9'
Ввод всегда будет парным, и каждая пара всегда будет представлять собой одну заглавную букву, за которой следуют 1–4 цифры.
Насколько я понимаю, это должно работать, но оно просто возвращает цифры.
Код: Выделить всё
$elements = preg_split('/[A-Z]/', $cols, 0, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);Этот вопрос отличается от другого, поскольку он не возвращает буквы и цифры как отдельные элементы, как я указал в своем вопросе.
Поскольку мой формат ввода очень прост, я ищу самое простое решение, которое, я думаю, должен делать preg_split в соответствии с руководством.
Вывод, который я получаю, такой же, как и на onlinephp.io, поэтому либо флаги не работают, либо я не понимаю, что они означают.
/>Иными словами, почему следующие строки дают один и тот же ответ:
Код: Выделить всё
print_r(preg_split('/[A-Z]/','A1B22C523E10D14G9', -1, PREG_SPLIT_NO_EMPTY));Код: Выделить всё
print_r(preg_split('/[A-Z]/','A1B22C523E10D14G9', -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE));Код: Выделить всё
Array ( [0] => 1 [1] => 22 [2] => 523 [3] => 10 [4] => 14 [5] => 9 )PREG_SPLIT_NO_EMPTY и PREG_SPLIT_DELIM_CAPTURE установлены на 1 и 2 соответственно
Подробнее здесь: https://stackoverflow.com/questions/798 ... preg-split
Мобильная версия