Réindexation de tableau...

ViPHP
ViPHP | 3607 Messages

15 sept. 2006, 16:06

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

15 sept. 2006, 16:17

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() ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 184 Messages

15 sept. 2006, 16:19

Va voir du côté de array_values()


edit: et un doublon de plus, un :o
Image

ViPHP
ViPHP | 3607 Messages

15 sept. 2006, 16:36

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...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

15 sept. 2006, 16:42

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); 
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
ViPHP | 3607 Messages

15 sept. 2006, 16:47

youpi!!!
ça fonctionne, j'ai juste récupéré le array slice et ça fonctionne!
merci => [resolu]