Page 1 sur 1

Réindexation de tableau...

Posté : 15 sept. 2006, 16:06
par jojolapine
Bonjour à tous,
Je ne pense pas que mon problème soit très compliquer, seulement je n'arrive pas à trouver la fonction correspondante à mes besoins dans le manuel php:
Je m'explique, je souhaite enlever n élément au début de mon tableau, et ensuite que le tableau soit réindéxer (c.a.d repartir de 0 pour les clés)...
pour l'insatnt j'utilise array_slice(), mais je ne trouve pas pour réindexer
Voilà merci d'avance

Posté : 15 sept. 2006, 16:17
par zeus
En fait, dans l'idée, pour réindexer un tableau, il faut juste récupérer les valeurs sans les clés et ces clés seront réindexées numériquement.

Mais comme je ne ferait jamais mieux que le doc PHP : array_values() ;)

Posté : 15 sept. 2006, 16:19
par graphistnet
Va voir du côté de array_values()


edit: et un doublon de plus, un :o

Posté : 15 sept. 2006, 16:36
par jojolapine
Ben apparement, ça ne marche pas des masses...
En fait je suis en train d'essayer d'insérer un gros csv, mais je n'ai aps les droits nécessaire pour faire un load data infile, donc bon, j'ai une fonction qui parse: parser_csv, qui fonctionne, j'ai tout tester...
et voilàa ce que je met en début de page:
if(!isset($_SESSION['donnees'])){
  $_SESSION['donnees']=parser_csv('france.csv');
} else {
  array_slice ($_SESSION['donnees'], $nbinsert);
  $_SESSION['donnees']=array_values($_SESSION['donnees']);
}
seulement, le tableau reste le même...
Pour info, je fait une redirection html dans cette page:

Code : Tout sélectionner

<meta http-equiv="Refresh" content="1;URL='<?php echo $_SERVER['PHP_SELF']; ?>'" />
Dans le principe, ce que je voulais faire, c'est on arrive sur la page, si les donnees ne sont pas présentes, on parse, sinon on les récupères via sessions, on les 'amputes', etc... jusqu'a ce que le tableau soit vide...

Posté : 15 sept. 2006, 16:42
par zeus
selon moi, tu ne devrais pas travailler directement dans la session mais passer par une variable locale. De plus, tu ne récupère jamais le résultat de array_slice()
$array = $_SESSION['donnees'];
$array = array_slice ($array, $nbinsert);
$array = array_values($array); 

Posté : 15 sept. 2006, 16:47
par jojolapine
youpi!!!
ça fonctionne, j'ai juste récupéré le array slice et ça fonctionne!
merci => [resolu]