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
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
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??![]()
voici une partie du code :
Et l'erreur est signalé dans la dernière ligne
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";
C'est normal :
A cette ligne la :
Tu définis que $tab2[...]['count'] est une chaine.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $tab2["MT"]["owner"][$owner]["zone/address"][$zone_address]["mois"]["-".$j-1]["count"] = $count_mois;
Et là :
Tu essayes de lui rajouter une dimension.
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";
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 ?
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ??!!![]()
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é :sAlors 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;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager