Elever les keys vides d'un tableau

Résolu
franco_se Messages postés 151 Date d'inscription samedi 1 novembre 2003 Statut Membre Dernière intervention 30 juillet 2018 - 8 août 2006 à 16:05
franco_se Messages postés 151 Date d'inscription samedi 1 novembre 2003 Statut Membre Dernière intervention 30 juillet 2018 - 8 août 2006 à 22:33
bonjour

je voudrais savoir s'il existe une fonction permettant d'enlever les keys vides dans un tableau
par ex, du tableau de 5 elements :
   $tab = array( 'v1', 'v2', '', '', 'v7' );
obtenir le tableau de 3 elements :
   $tab_modif = array( 'v1', 'v2', 'v7' );
vu que $tab[2]="" et que $tab[3]="" .

merci

4 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
8 août 2006 à 18:06
hello,

$tab = array_filter ($tab);
3
cs_Kysic Messages postés 332 Date d'inscription mardi 12 juillet 2005 Statut Membre Dernière intervention 17 juillet 2010
8 août 2006 à 17:27
Je connais pas de fonction qui le ferait, je propose:
$tab = array( 'v1', 'v2', '', '', 'v7' );
for ($i = 0; $i < count($tab); $i++) {
    if ($tab[$i] == "") {
        array_splice ($tab, $i, 1);
        $i--;
    }
}

ou alors un truc genre:

function create($var) {


    global $newtab;


    if ($var != "") array_push($newtab , $var);


}
$tab = array( 'v1', 'v2', '', '', 'v7' );
$newtab = array();

array_map("create", $tab);
0
cs_Kysic Messages postés 332 Date d'inscription mardi 12 juillet 2005 Statut Membre Dernière intervention 17 juillet 2010
8 août 2006 à 20:26
Oui mais attention cette fonction va retourné pour l'exemple donné:
Array
(
[0] => v1
[1] => v2
[4] => v7
);
(conservation des associations clef valeur)
0
franco_se Messages postés 151 Date d'inscription samedi 1 novembre 2003 Statut Membre Dernière intervention 30 juillet 2018 2
8 août 2006 à 22:33
mais cette fonction est exactement ce que je recherchais
merci a tous deux
0
Rejoignez-nous