IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Améliorer ma méthode sur les tableaux


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2009
    Messages : 137
    Points : 92
    Points
    92
    Par défaut Améliorer ma méthode sur les tableaux
    hello,

    je cherche à effacer des élément $_SESSION commençant par 'memory_'. Mon code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    foreach ($_SESSION as $key => $value)
    {
    	if (preg_match('#^memory_#i', $key))
    	{
    		unset $_SESSION[$key];
    	}
    }
    mais il m'oblige à parcourir tout les $_SESSION

    mon autre solution c'est de créer des $_SESSION[memory][0], $_SESSION[memory][1] ...

    et de les effacer comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    foreach ($_SESSION['memory'] as $key => $value)
    {
    	unset($_SESSION['memory'][$key]);
    }
    Je voulais savoir laquelle des méthodes est la mieux, et si il y en a d'autre encore plus performante. merci.

  2. #2
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    la seconde est de loin (à mon sens) la plus optimisée, tu ne parcours que ce que tu as envie de supprimer et non pas tout le tableau, tes indexe sont du type 'int' dans ce cas et non pas de type 'string' et en plus t'as pas besoin d'expressions régulières (gourmandes)...sans hésiter la seconde méthode et pour ce qui est de l'amélioration je ne vois pas mieux...à comparer avec array_map si c'est possible mais bon

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    La 2eme je dirai et la meilleur.
    Mais tu n'aura qu'a supprimer directement avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unset($_SESSION['memory']);
    Sans bouclé

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Citation Envoyé par m4riachi Voir le message
    La 2eme je dirai et la meilleur.
    Mais tu n'aura qu'a supprimer directement avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unset($_SESSION['memory']);
    Sans bouclé
    +1

    Bien sûr c'est la meilleure solution. Déjà tu évites de polluer ton espace de nom de variables de sessions et ensuite tu peux effacer tout ton tableau d'un seul coup.

  5. #5
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    Citation Envoyé par m4riachi Voir le message
    La 2eme je dirai et la meilleur.
    Mais tu n'aura qu'a supprimer directement avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unset($_SESSION['memory']);
    Sans bouclé
    +1
    plus simple...

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2009
    Messages : 137
    Points : 92
    Points
    92
    Par défaut ah oui encore mieux
    Hello

    effectivement avec le

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    unset($_SESSION['memory']);
    parfait merci beaucoup pour vos réponses.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. question sur les tableaux
    Par Neko dans le forum C++
    Réponses: 13
    Dernier message: 14/02/2006, 03h21
  2. [Smarty] problème compréhension sur les tableaux
    Par mohican13 dans le forum Bibliothèques et frameworks
    Réponses: 11
    Dernier message: 09/02/2006, 17h44
  3. [Tableau]imcompréhension sur les tableaux
    Par Burinho dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 13/12/2005, 10h33
  4. Article sur les tableaux dynamiques
    Par Eric Sigoillot dans le forum Langage
    Réponses: 2
    Dernier message: 16/04/2004, 23h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo