'giorno a tutti,

non capisco una cosa, sto cercando di eliminare un valore da un array, con unset, ma non ottengo risultati

Il tutto avviene all'interno di una funzione, semplificando:

codice:
$array = ('pippo', 'pluto', 'paperino', 'io');

pippo($array);

function pippo($array){

foreach($array as $dati){
if(strlen($dati) < 3){
unset($array[$dati]);
}
}
print_r($array);
}
mi stampa comunque tutti i valori iniziali, compreso io

diciamo che ho provato i millemila modi, ma il risultato non cambia

ho provato anche facendo unset($array['io']); , ma nulla

cosa sbaglio ?