[php objet] Problème avec les tableaux
Résolu/Fermé
Aroeris
Messages postés
38
Date d'inscription
mercredi 14 janvier 2009
Statut
Membre
Dernière intervention
4 juin 2013
-
15 mars 2010 à 14:50
Aroeris Messages postés 38 Date d'inscription mercredi 14 janvier 2009 Statut Membre Dernière intervention 4 juin 2013 - 15 mars 2010 à 15:34
Aroeris Messages postés 38 Date d'inscription mercredi 14 janvier 2009 Statut Membre Dernière intervention 4 juin 2013 - 15 mars 2010 à 15:34
A voir également:
- [php objet] Problème avec les tableaux
- Vente objet occasion entre particulier - Guide
- Easy php - Télécharger - Divers Web & Internet
- Tableaux croisés dynamiques - Guide
- Fusionner deux tableaux excel - Guide
- Identifier un objet à partir d'une photo - Guide
2 réponses
Bonjour
$tableau ne contient effectivement 4 éléments. Regarde bien attentivement ce que donne le print_r($tableau) :
$tableau[0] contient 'id'
$tableau[1] contient 'intitule'
$tableau['id'] contient un tableau de 192 valeurs
$tableau['intitule] contient un tableau de 192 valeurs
il faut bien que tu comprennes que quand tu fais deux opérations qui n'ont aucun rapport :
$montableau=array('id','intitule');
tu mets deux valeurs dans ton tableau, comme tu ne précises pas d'indice, elles sont mis en indices 0 et 1
alors que quand tu fais
$montableau['id'][$cpt]=$donnees['idnationalite'];
$montableau['intitule'][$cpt]=$donnees['nomnat'];
tu crées des éléments $montableau['id'] et $montableau['intitule'] dans ton tableau. Et comme valeurs, tu leur donne un tableau (c'est la manière normale de faire un tableau à deux dimensions en PHP).
les 'id' et 'intitule' jouent des rôles très différents dans les deux cas. En pratique, ton $montableau=array('id','intitule'); est totalement inutile, tu peux la supprimer
Si tu veux retrouver ton 192, ce n'est pas echo count($lespays) qu'il faut faire, mais echo count($lespays['id'])
Endin, si tu n'affiches 5 lignes, c'est que tu cumules deux erreurs dans
while($cpt<=count($lespays))
ce devrait être
while($cpt<count($lespays['id']))
(inégalité stricte)
$tableau ne contient effectivement 4 éléments. Regarde bien attentivement ce que donne le print_r($tableau) :
$tableau[0] contient 'id'
$tableau[1] contient 'intitule'
$tableau['id'] contient un tableau de 192 valeurs
$tableau['intitule] contient un tableau de 192 valeurs
il faut bien que tu comprennes que quand tu fais deux opérations qui n'ont aucun rapport :
$montableau=array('id','intitule');
tu mets deux valeurs dans ton tableau, comme tu ne précises pas d'indice, elles sont mis en indices 0 et 1
alors que quand tu fais
$montableau['id'][$cpt]=$donnees['idnationalite'];
$montableau['intitule'][$cpt]=$donnees['nomnat'];
tu crées des éléments $montableau['id'] et $montableau['intitule'] dans ton tableau. Et comme valeurs, tu leur donne un tableau (c'est la manière normale de faire un tableau à deux dimensions en PHP).
les 'id' et 'intitule' jouent des rôles très différents dans les deux cas. En pratique, ton $montableau=array('id','intitule'); est totalement inutile, tu peux la supprimer
Si tu veux retrouver ton 192, ce n'est pas echo count($lespays) qu'il faut faire, mais echo count($lespays['id'])
Endin, si tu n'affiches 5 lignes, c'est que tu cumules deux erreurs dans
while($cpt<=count($lespays))
ce devrait être
while($cpt<count($lespays['id']))
(inégalité stricte)
Aroeris
Messages postés
38
Date d'inscription
mercredi 14 janvier 2009
Statut
Membre
Dernière intervention
4 juin 2013
15 mars 2010 à 15:34
15 mars 2010 à 15:34
AAh okay je comprends je comprends, mais ce qui est bizarre cest que pour d'autres opérations j'ai fait la meme chsoe et ça marchait O_o lol
Bon bah je vais corriger tout ça, merci beaucoup de ta precieuse aide !
Bon bah je vais corriger tout ça, merci beaucoup de ta precieuse aide !