$arrNotSorted = explode(' ', $strNotChanges);
$arrNotSorted = array_filter($arrNotSorted, 'strlen');
foreach ($arrNotSorted as $value) {
if (is_numeric($value)) {
return 'вырезанное число:' . $value;
}
if (strlen($value) === 1) {
return 'вырезанный символ:' . $value;
}
if (preg_match('/^\d[^\d]+$/iu', $value)) {
return 'смежное значение:' . $value;
}
return 'строка: ' . $value;
}
1. Учитесь писать человеко-понятный код. Часто наблюдаю картину, когда используется switch там, гед он не особо то нужен (я не спорю, иногда его необходимо использовать).
2. Функция split - устарела, вместо нее есть explode.
3. Судя по названию метода: valid, это как-то связано с валидацией. Не стоит использовать в нем echo и другие конструкции, не связанные с валидацией.
4. Соблюдайте тип проверяемых значений! В switch вообще удивительно, что у вас хоть что-то работает.
Например $value у вас '4abc', в во втором case вы делаете примерно следующее:
'4abc' == (count('4abc') == 1 and is_numeric('4abc') == false)
Это хрень постная в общем. Для строк не используйте count, есть strlen.
5. Сделайте что-то с форматированием, есть PSR2 например.
6. Да, чуть не забыл)) что на счет символов: \b, \r, \t, \n ?