Comment vider un tableau en PHP ?
c’est comme l’oeuf de Christophe Colomb : il fallait y penser …
Je ne dois pas être faite pour découvrir les Amériques
il m’a fallu 10mn pour trouver ce truc !
Pas moyen de trouver une fonction qui vide un tableau, pour pouvoir le ré-emplir ensuite (on pourrait créer une nouvelle variable, mais dans certaines boucles il peut être pratique de garder la même variable).
En fait c’est tout bête : il suffit de vider la variable-tableau de sa valeur avec la fonction unset() !
// Je remplis le tableau :
$tablo = array(’1′ => ‘rouge’, ’2′ => ‘vert’);
// .. je l’affiche, je le traite, etc…
print_r($tablo);
unset($tablo);
// il n’existe plus… je peux le remplir à nouveau :
$tablo = array(’1′ => ‘violet’, ’2′ => ‘mauve’);



En fait, unset fait plus que vider le tableau, il supprime carrément la variable me semble t il.
oui.. si tu testes la variables après, ca te renvoie un « undefined ». Il y a peut etre plus propre, mais je n’ai pas trouvé :/
Eh bien sinon tu peux passer de ca :
$tablo = array(’1′ => ‘rouge’, ’2′ => ‘vert’);
A ca :
$tablo = array(’1′ => ‘violet’, ’2′ => ‘mauve’);
Directement. Sans unset et ca marche aussi bien, ca écrase purement et simplement la variable.
on peut faire ça aussi
mais c’est + lourd en code
Ou redéfinie la variable en lui disant que c’est un tableau :
$tablo=array();
Ça vide les valeurs du tableau mais ne crame pas la variable. Et permet de le remplir comme on souhaite (par une boucle par ex) et pas forcèment avec toutes les valeurs du premier coup.
voui Ben, tout pareil ça marche itou
lool
Bonjour
De passage sur votre forum, une simple remarque:
unset() ne vide en aucun cas un tableau de ses valeurs, mais détruit la variable. Unset et $arr = array() ne " marchent donc pas pareil du itou … "
La seule manière de faire ça en php est de redéclarer le tableau comme le disent soon7 et Ben. Je me permets cette remarque car un debutant pourrait se creuser la tête un moment pour savoir pourquoi il reçoit un retour "undefined" alors qu’il a bien suivi le conseil, faux, de votre site … :]