Ho provato a fare questo al volo.
Controllo un array principale, partendo dal presupposto che le chiavi corrispondono in tutti e che devo eliminare tutte quelle vuote in quello principale e negli altri:
PSCodice PHP:$cognomi = array(1=>'primo', 2=>'', 3=>'terzo');
$nomi = array(1=>'primo', 2=>'', 3=>'terzo');
print '<pre>';print_r($cognomi);print '</pre>';
print '<pre>';print_r($nomi);print '</pre>';
foreach($cognomi as $key=>$v){
if($v == ''){
$vuoto[]=$key;
}
}
foreach($vuoto as $k){
unset($cognomi[$k]);
unset($nomi[$k]);
}
print '<pre>';print_r($cognomi);print '</pre>';
print '<pre>';print_r($nomi);print '</pre>';
$i=0;
foreach($cognomi as $key=>$v){
$i++;
$newCognomi[$i]= $cognomi[$key];
$newNomi[$i]= $nomi[$key];
}
$cognomi = $newCognomi;
$nomi = $newNomi;
print '<pre>';print_r($newCognomi);print '</pre>';
print '<pre>';print_r($newNomi);print '</pre>';
rigenero le chiavi partendo dalla numero 1 in poi.. se parte dalla zero, uguale senza $i;


Rispondi quotando