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 ?:cry:
Merci
Version imprimable
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 ?:cry:
Merci
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
et ca vient avec du code cette erreur ou c'est en ouvrant le browser que ca fais ca?? :roll:
voici une partie du code :
Et l'erreur est signalé dans la dernière ligneCode:
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";
C'est normal :
A cette ligne la :
Tu définis que $tab2[...]['count'] est une chaine.Code:$tab2["MT"]["owner"][$owner]["zone/address"][$zone_address]["mois"]["-".$j-1]["count"] = $count_mois;
Et là :
Tu essayes de lui rajouter une dimension.Code:$tab2["MT"]["owner"][$owner]["zone/address"][$zone_address]["mois"]["-".$j-1]["count"][$count_mois]["detail"] = "en_construction";
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 :x
Tu es sur d'avoir bien compris le principe ou c'est normal ?
commen je dois faire alors?
il faut qu'il y a une case detail sous count_mois
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 ?
normalement oui
je maitrise les tableaux depuis un bon moment
Oky ...
Donc pourquoi tu utilises autant de dimensions ???
Tu ne veux pas plutot faire qqchose dans ce genre :
?Code:
1
2
3 $tab2["owner"] = $owner ; $tab2["zone/address"] = $zone_address ; $tab2["mois"] = "-".$j-1 ;
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.
Alors sylvain, a part me poser des questions est ce que tu pourra m'aider a résoudre mon probleme ??!!:evilred:
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?
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é :sCitation:
Alors sylvain, a part me poser des questions est ce que tu pourra m'aider a résoudre mon probleme ??!!
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;