Array_push

Résolu
cs_brezoneg Messages postés 104 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 19 août 2015 - 18 mai 2006 à 21:34
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 - 19 mai 2006 à 09:28
Bonjour,
Je rempli un tableau avec le code suivant :

connection base ..ect
for ($t=0;$t<$nbli;$t=$t+1)
{$num = mysql_result($res,$t,"num");
$date = mysql_result($res,$t,"date");
$it1 = mysql_result($res,$t,"it1");
array_push ($tab, $num );}
print_r($tab);

mais je voudrais en fait avoir le tableau suivant :
{$num = mysql_result($res,$t,"num");
$date = mysql_result($res,$t,"date");
$it1 = mysql_result($res,$t,"it1");
array_push ($tab, $num => $it1 );}
print_r($tab);
Mais l'erreur suivante s'affiche :

Parse error: parse error, unexpected T_DOUBLE_ARROW in c:\program files\easyphp1-7\www\tableau_ bord\graph\graph.php on line 70                  ( la ligne en rouge)

arraypush ne fonctionne t il pas pour ce genre de tableau ?
si non où est l'erreur ?
Ou encore comment remplir ce tableau
merci

2 réponses

J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
19 mai 2006 à 09:28
Salut,

Si ton but est de compléter un tableau associatif (clefs et valeurs pas forcément des nombres qui se suivent). Alors le plus simple serait :

(J'en profite pour rendre ton code un peu plus sympa à lire... pour l'oeil humain et le moteur PHP...)

/* Connection base ..ect */
$tab = array(); // $tab n'est pas forcément vide à ce niveau

// parcours du résultat jusqu'au dernier enregistrement ou $nbli
$i = 0;
while( ($data = mysql_fetch_assoc( $res )) and ($i++<$nbli) ) {
    // on assigne en même temps une clef et sa valeur au tableau
    $k = $data['num'];
    $v = $data['it1'];
    $tab[$k] = $v;
   
    // Ou plus rapidement : $tab[ $data['num'] ] = $data['it1'];
}

print_r($tab);

Voili-voilou
3
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
18 mai 2006 à 21:46
salut

unexpected T_DOUBLE_ARROW

ça veut dire qu'il n'aime pas ça
array_push ($tab, $num => $it1 );}

pourquoi pas directement ?

array_push ($tab,  $it1 );}
0
Rejoignez-nous