Для данных, которые вы указали в своем вопросе, используйте функцию array_filter()
с пустым параметром обратного вызова.Это отфильтрует все пустые элементы.
$array = array( ... );
$array = array_filter($array);
Если вам нужно отфильтровать элементы, которые вы описали в тексте вашего вопроса, то вам нужно добавить функцию обратного вызова, которая будет возвращать true
(действительный) или false
(недействительно) в зависимости от того, что вам нужно.Для этого вам могут пригодиться функции ctype_alpha
.
$array = array( ... );
$array = array_filter($array, 'ctype_alpha');
Если вам также нужно разрешить тире, вам необходимо предоставить собственную функцию в качестве обратного вызова:
$array = array( ... );
$array = array_filter($array, function($test) {return preg_match('(^[a-zA-Z-]+$)', $test);});
В этом примере функции обратного вызова используется функция preg_match()
с использованием регулярного выражения.Регулярные выражения могут быть сформулированы для представления определенной группы символов, например, здесь a-z
, A-Z
и тире -
(знак минус) в примере.