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 :

Tableau ; problème Uninitialized string offset


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de pony99
    Femme Profil pro
    Inscrit en
    Mars 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 161
    Points : 69
    Points
    69
    Par défaut Tableau ; problème Uninitialized string offset
    Bonjour,

    J'essaie d'afficher un résultat via une boucle de plusieurs tableaux récupéré après une requête (pas la peine de vous ennuyez avec la requête), comme suite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $tade = array('Blanc', 'Rouge', 'Noir');
    $valeur = array('FFFFFF', 'FF2000', '000000');
    $unite = array('6', '9', '2');
     
    for ($i=0; $i<count($tade); $i++)     
    {
      $e_analyse =$tade[$i];
      $valeur=$valeur[$i];
      $unite=$unite[$i];
     
      echo "- <b><font color=#000000>".$e_analyse." = ".$valeur."</font></b> ".$unite." unite(s)<br>";
     
    }
    Mais j'ai le message d'erreur suivant, mais je ne trouve pas la solution

    - Blanc = FFFFFF 6 unite(s)

    Notice: Uninitialized string offset: 1 in c:\program files\easyphp1-8\www\test\index.php on line 16
    - Rouge = F unite(s)

    Notice: Uninitialized string offset: 2 in c:\program files\easyphp1-8\www\test\index.php on line 15

    Notice: Uninitialized string offset: 2 in c:\program files\easyphp1-8\www\test\index.php on line 16
    - Noir = unite(s)
    D'où viens mon erreur?

    Merci de votre réponse

  2. #2
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Au premier passage tu redéfinis la variable $unite qui n'est alors plus un tableau lors du deuxième passage.

    D'où BOUM !

  3. #3
    Membre du Club Avatar de pony99
    Femme Profil pro
    Inscrit en
    Mars 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 161
    Points : 69
    Points
    69
    Par défaut
    Exacte, Merci pour ton aide!!

  4. #4
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Au passage, il me semble préférable d'utiliser l'itérateur foreach :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $tade = array('Blanc', 'Rouge', 'Noir');
    $valeur = array('FFFFFF', 'FF2000', '000000');
    $unite = array('6', '9', '2');
     
    foreach ($tade as $key=>$value)     
    {
      $valeur = $valeur[$key];
      $unit  =$unite[$key];
     
      echo "- <b><font color=#000000>$value = $valeur</font></b> $unit unite(s)<br>";
     
    }

  5. #5
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Citation Envoyé par s.n.a.f.u Voir le message
    Au passage, il me semble préférable d'utiliser l'itérateur foreach :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $tade = array('Blanc', 'Rouge', 'Noir');
    $valeur = array('FFFFFF', 'FF2000', '000000');
    $unite = array('6', '9', '2');
     
    foreach ($tade as $key=>$value)     
    {
      $valeur = $valeur[$key];
      $unit  =$unite[$key];
     
      echo "- <b><font color=#000000>$value = $valeur</font></b> $unit unite(s)<br>";
     
    }

    Quel est l'intérêt s.n.a.f.u par rapport à une boucle for stp ?

    Gain de temps ?

  6. #6
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Gain de temps et pas d'embrouille avec les clés : quelle que soit leurs valeurs, ça marche.

  7. #7
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Ok, merci

  8. #8
    Membre du Club Avatar de pony99
    Femme Profil pro
    Inscrit en
    Mars 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 161
    Points : 69
    Points
    69
    Par défaut
    Ok, j'ai testé avec foreach et ça marche nickel.

    Merci

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

Discussions similaires

  1. [PHPExcel] Uninitialized string offset
    Par kamnouz dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 06/12/2011, 09h57
  2. Uninitialized string offset
    Par thetiti dans le forum Langage
    Réponses: 2
    Dernier message: 15/04/2009, 21h48
  3. [Tableaux] Problème de tableau avec les strings
    Par roxxxy dans le forum Langage
    Réponses: 4
    Dernier message: 09/03/2007, 11h04
  4. [D7][Débutant] Problème conversion String <- TEdit
    Par _alex_ dans le forum Composants VCL
    Réponses: 2
    Dernier message: 16/02/2006, 22h48
  5. [HTML] Tableau problème de formatage avec internet Explorer
    Par rabobsky dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/11/2005, 09h50

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