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] Cannot use string offset as an array ?


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 146
    Points : 78
    Points
    78
    Par défaut [Tableaux] Cannot use string offset as an array ?
    salut,
    s'il vous plait aider moi a résoudre cette erreur qui s'intitule : "Cannot use string offset as an array".
    Elle veut dire quoi exactement ?
    Merci

  2. #2
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    En gros il ne peut pas utiliser un index formé d'une chaine de caractères comme un tableau

    Avec un bout de code il sera facile de te montrer ton erreur
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  3. #3
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    et ca vient avec du code cette erreur ou c'est en ouvrant le browser que ca fais ca??
    La perfection n'est pas un but, l'amélioration constante devrait l'être!
    La position des Développeurs de developpez avec les explications

  4. #4
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 146
    Points : 78
    Points
    78
    Par défaut
    voici une partie du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $query = "SELECT count(*) ";
    			$query.= "FROM hotqueues,zone ";
    			$query.= "WHERE CASE WHEN timecreated>timeshiped THEN timecreated ELSE timeshiped END > $d2 ";
    			$query.= "AND CASE WHEN timecreated>timeshiped THEN timecreated ELSE timeshiped END <$d1 ";
    			$query.= "AND hotqueues.\"directionType\"='MT' ";
    			$query.= "AND zone = ".$db->qstr($zone)." ";
    			$query.= "AND zone.address = ".$db->qstr($address)." ";
    			$query.= "AND owner = ".$db->qstr($owner)." ";
     
    			$res = $db->Execute($query);
    			$rows_mois = $res->getRows();
    			$count_mois = $rows_mois[0]["count"];
    			$tab2["MT"]["owner"][$owner]["zone/address"][$zone_address]["mois"]["-".$j-1]["count"] = $count_mois;
    			$tab2["MT"]["owner"][$owner]["zone/address"][$zone_address]["mois"]["-".$j-1]["count"][$count_mois]["detail"] = "en_construction";
    Et l'erreur est signalé dans la dernière ligne

  5. #5
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Points : 532
    Points
    532
    Par défaut
    C'est normal :
    A cette ligne la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tab2["MT"]["owner"][$owner]["zone/address"][$zone_address]["mois"]["-".$j-1]["count"] = $count_mois;
    Tu définis que $tab2[...]['count'] est une chaine.

    Et là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tab2["MT"]["owner"][$owner]["zone/address"][$zone_address]["mois"]["-".$j-1]["count"][$count_mois]["detail"] = "en_construction";
    Tu essayes de lui rajouter une dimension.
    Or ce n'est pas possible de rajouter une dimension à une chaine. Donc ça braille

    Entre nous je trouve qu'il a un peu beaucoup énormément trop excessivement de dimensions ton tableau
    Tu es sur d'avoir bien compris le principe ou c'est normal ?

  6. #6
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 146
    Points : 78
    Points
    78
    Par défaut
    commen je dois faire alors?
    il faut qu'il y a une case detail sous count_mois

  7. #7
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Points : 532
    Points
    532
    Par défaut
    Répond déjà à ma 2ème question stp parce que je ne voudrais pas me lancer dans des grandes explications inutiles :s

    Est ce que tu as bien compris le principe des tableaux et tableaux associatifs ?

  8. #8
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 146
    Points : 78
    Points
    78
    Par défaut
    normalement oui
    je maitrise les tableaux depuis un bon moment

  9. #9
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Points : 532
    Points
    532
    Par défaut
    Oky ...
    Donc pourquoi tu utilises autant de dimensions ???
    Tu ne veux pas plutot faire qqchose dans ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $tab2["owner"] = $owner ;
    $tab2["zone/address"] = $zone_address ;
    $tab2["mois"] = "-".$j-1 ;
    ?

  10. #10
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 146
    Points : 78
    Points
    78
    Par défaut
    non ce n'est pas possible car pour chaque owner il existe des zone/address.
    ensuite chaque couple owner, zone/address possède des statistiques sur plusieurs mois et ainsi de suite.

  11. #11
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 146
    Points : 78
    Points
    78
    Par défaut
    Alors sylvain, a part me poser des questions est ce que tu pourra m'aider a résoudre mon probleme ??!!

  12. #12
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    salut
    moi je crois que ca vient du "zone/adresse"
    car avec la logic ca dit que tu peux pas utiliser une string comme indice d'un array...alors c'est soit celle là...ou encore une variable que tu utilises genre $zone_adresse...ca vaut quoi cette valeur?
    La perfection n'est pas un but, l'amélioration constante devrait l'être!
    La position des Développeurs de developpez avec les explications

  13. #13
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Points : 532
    Points
    532
    Par défaut
    Alors sylvain, a part me poser des questions est ce que tu pourra m'aider a résoudre mon probleme ??!!
    Heuuu ... on se calme là ! Je n'ai pas que ça a faire non plus, je ne suis pas collé au forum 24h/24. Excuse moi d'avoir du travail à faire à coté :s

    La réponse de toute façon je te l'ai déjà plus ou moins donné en t'expliquant l'erreur. Maintenant il faut réflechir un peu.

    $tab2...["count"] = $count_mois;

    ça il faut le descendre dans une autre dimension si tu rajoutes des associations a count.

    $tab2...["count"]['crevette'] = $count_mois;

Discussions similaires

  1. Réponses: 22
    Dernier message: 24/08/2009, 18h32
  2. [Forum] Fatal error: Cannot use string offset as an array
    Par Yuki_Hime dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 31/07/2009, 23h55
  3. Fatal error: Cannot use string offset as an array
    Par tremeur53 dans le forum Langage
    Réponses: 8
    Dernier message: 31/10/2008, 09h44
  4. Réponses: 2
    Dernier message: 10/04/2008, 18h16
  5. Réponses: 4
    Dernier message: 14/02/2008, 20h41

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