Ciao,
oltre alla corretta risposta di brodik, ti propongo anche la variante con espressioni regolari.
Codice PHP:
$array_exemple = array('+mario', '+giacomo', '+elisa', 'senza_segno', '-luca', '-marco', '-filippo');
$array_plus = preg_grep("/^(\+){1}.*$/", $array_exemple);
$array_minus = preg_grep("/^(\-){1}.*$/", $array_exemple);
$array_no_operator = preg_grep("/^((?!\+|\-).)*$/", $array_exemple);
Se non vuoi utilizzare 3 nuovi array, puoi usarne semplicemente uno associativo con relative chiavi +,- e senza segno.
Codice PHP:
$array_exemple = array('+mario', '+giacomo', '+elisa', 'senza_segno', '-luca', '-marco', '-filippo');
$associative_array = array();
$associative_array['+'] = preg_grep("/^(\+){1}.*$/", $array_exemple);
$associative_array['-'] = preg_grep("/^(\-){1}.*$/", $array_exemple);
$associative_array['senza_operatore'] = preg_grep("/^((?!\+|\-).)*$/", $array_exemple);
print_r($associative_array);
Ciao.