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 :

[Tableaux] Additionner les éléments d'un tableau


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 63
    Points : 44
    Points
    44
    Par défaut [Tableaux] Additionner les éléments d'un tableau
    Bonjour voici mon probleme.

    J'ai une boucle for dans laquelle je récupère un tableau de valeurs.
    Le probleme, c'est que les éléments du tableau ne s'additionne pas mais s'ecrase. . J'aimerai que les éléments recupérés s'additionnent.

    J'avais pensé à çà

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    //Initialisation 
    $tab_resize_image = array();
    $tab_generale_imd = array();
    //Ma boucle
    for($i=0;$i<10;$i++){
        $tab_resize_image = resize_image($complete_name,$nom_fichier);
        $tab_generale_imd = $tab_generale_imd + $tab_resize_image;
    }
    mais l'union ne se gère pas comme je pensais. Quelqu'un à t-il une idée?

  2. #2
    Membre averti Avatar de ShinJava
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 413
    Points : 357
    Points
    357
    Par défaut
    Salut,
    C'est normal que les elements du tableau s'écrasent car tu n'indique à aucun moment l'indice de ton tableau.
    A quoi correspond $tab_generale_imd ? (le total ?)
    J'ai un peu de mal à saisir ce que tu veux faire mais voici un exemple qui te permet d'additioner les élements

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    //Initialisation 
    $tab_resize_image = resize_image($complete_name,$nom_fichier);
     
    $tab_fictif = array(1,2,3,4,5,6,7,8,9);
    $taille_tableau = sizeof($tab_fictif);
    $total = 0;
     
    for($i=0;$i<$taille_tableau; $i++)
    {
            // Remplissage du tableau
    	$tab_resize_image[] = resize_image($complete_name,$nom_fichier);
     
    	// Calcul du total d'un tableau
    	$total = $total + $tab_fictif[$i];
    }
    Voila voila,
    J'espere que ça va t'aider.

    ++
    ShinJava

  3. #3
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    En faite j'ai la fonction resize_image qui me retourne un tableau de valeurs.
    Or comme la fonction se répète x fois du fait de çà présence dans la boucle for le tableau de valeures récupérées efface le tableau précédent et ainsi de suite.

    J'ai créé le tableau $tab_generale_imd qui est le tableau final. Celui ci avait pour but de contenir tous les tableaux de valeures $tab_resize_image retournés par la fonction resize_image (car celui ci est écrasé à chaque boucle).

    Je cherche une fonction qui me permette de les additionner ou fusionner.

    J'ai trouvé la function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array_merge($array1;$array2);
    Je vais voir si çà peut être utile.

    Merci de ton aide en tous cas çà m'aura appris un truc sur les indices.

  4. #4
    Membre averti Avatar de ShinJava
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 413
    Points : 357
    Points
    357
    Par défaut
    Citation Envoyé par The SorroW Voir le message
    En faite j'ai la fonction resize_image qui me retourne un tableau de valeurs.
    Or comme la fonction se répète x fois du fait de çà présence dans la boucle for le tableau de valeures récupérées efface le tableau précédent et ainsi de suite.
    Dans ce cas là tu fais tout simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tab_resize_image[] = resize_image($complete_name,$nom_fichier);
    Et là t'auras un tableau dont chaque indice sera le tableau retourné de la fonction resize_image.

    J'ai créé le tableau $tab_generale_imd qui est le tableau final. Celui ci avait pour but de contenir tous les tableaux de valeures $tab_resize_image retournés par la fonction resize_image (car celui ci est écrasé à chaque boucle).
    Si j'ai bien compris ton raisonnement, normalement tu n'auras plus besoin de $tab_general_imd puisque $tab_resize_image contiendra deja tout les tableaux retournés par la fonction resize_image.

    Je cherche une fonction qui me permette de les additionner ou fusionner.
    C'est peut-être cette partie que j'avais pas compris au début. Quand tu me parlais d'additionner, je pensais que tu voulais faire une addition de chaque valeur retourné par ton tableau (1+2+3,etc...). Apparement tu voulais juste avoir un tableau qui contient tous autres tableaux, c'est bien ça ?
    Si c'est le cas, tu as juste à faire comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    //Initialisation 
    $tab_resize_image = array();
     
    //Ma boucle
    for($i=0;$i<10;$i++)
    {
          $tab_resize_image[] = resize_image($complete_name,$nom_fichier);
    }
    Voila, voila.
    J'espere que c'est bien ça ?

    ++
    ShinJava

  5. #5
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    Ouais tout simplement comme tu dis lol. J'ai cherché midi à 14H la. Avec array_merge() çà marchait aussi mais ta soluce est beaucoup plus simple.

    Je te remercie de ton aide et excuse moi si au début je n'ai pas été assez claire.

    ++

  6. #6
    Membre averti Avatar de ShinJava
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 413
    Points : 357
    Points
    357
    Par défaut
    Citation Envoyé par The SorroW Voir le message
    Ouais tout simplement comme tu dis lol. J'ai cherché midi à 14H la. Avec array_merge() çà marchait aussi mais ta soluce est beaucoup plus simple.

    Je te remercie de ton aide et excuse moi si au début je n'ai pas été assez claire.

    ++
    Cool on a enfin reussi
    Sinon ne t'inquiètes pas pour l'incompréhension, j'étais un peu KO quand j'ai lu ton message au début
    Bon courage pour la suite

    ++
    ShinJava

  7. #7
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    ok pas de soucis bon courage a toi aussi.





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

Discussions similaires

  1. [Tableaux] Additionner les éléments d'un tableau
    Par TraxX dans le forum Langage
    Réponses: 3
    Dernier message: 16/04/2009, 09h02
  2. Réponses: 3
    Dernier message: 02/06/2008, 16h37
  3. Réponses: 4
    Dernier message: 09/08/2006, 11h05
  4. [Tableaux] Tester les éléments d'un tableau dans un if
    Par Leobaillard dans le forum Langage
    Réponses: 3
    Dernier message: 20/05/2006, 16h07
  5. Réponses: 10
    Dernier message: 27/03/2006, 18h38

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