Version complète: sur le forum Webmaster Hub : comment ajouter une valeur à un array ?
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
fredrick
Bonjour,

J'aimerais savoir comment je peux ajouter une valeur à un array sans le faire manuellement.

Je récupère des données dans une BDD et suite à ça, grâce à une boucle, j'inscris toutes ces données dans une variable array.

Ex: Sélectionne dans la BDD tous les enfants dont le papa s'appelle Thierry
Je fais une bouce qui tournera tant qu'il y aura des données provenant de la requête
Ensuite si la variable array $enfant n'existe pas alors je la crée avec comme première valeur le premier enfant trouvé
Ensuite la boucle revient au début et effectue son deuxième tour, comme la variable $enfant existe, alors elle va ajouter
une deuxième entrée, deuxième valeur. A savoir le deuxième enfant trouvé, etc ...



ce qui me pose problème c'est comment faire en sorte que par exemple $enfant=('frederic','nicolas,'pierre'); devienne après la boucle $enfant=('frederic','nicolas','pierre','marc');

Qui peut m'aider à parfaire mes connaissances ?

Merci,

Fred
Remi
CODE
$enfant[]=$nom_a_ajouter
fredrick
Tu veux dire que je devrais écrire ceci ???

CODE
$donnees=mysql_query('select nom from table where papa="thierry"');

while (mysql_fetch_array($donnees)) {

$enfant[]=$donnees['nom'];

}


C'est bien ça?
Remi
Oui, pour ajouter un élément à un tableau, on utilise le nom du tableau avec les crochets vides.
fredrick
Ok je te remercie beaucoup, me voilà plus malin.
captain_torche
Tu peux également utiliser la fonction array_push(), avec comme premier argument le nom du tableau, et comme arguments 2 à n, les noms des valeurs que tu souhaites ajouter.
fredrick
Ok merci ça marche mais comment fait-on avec des variable array associatif.

Si je veux ajouter une valeur à Membre par exemple lors d'une boucle ?

$array=(membre=>'fred','pierre'
ville=>'anvers','paris');
captain_torche
CODE
$array['Membres'][] = 'Pierre';
$array['Villes'][] = 'Paris';


Edit :
La manière dont tu crées ton array, n'est pas correcte.
En la corrigeant, elle ressemble à ça :
CODE
$array = array('membre' => 'fred','pierre', 'ville' =>'anvers','paris');

Tel quel, ton code fera ceci :
- Il va créer un nouvel élément dans $array, avec comme clé 'membre', et comme valeur 'fred'
- Il va créer un élément, avec comme valeur 'pierre', et comme clé, la valeur par défaut (numérique), 0
- Il va créer un élément, avec comme clé 'ville', et comme valeur 'anvers'
- Il va créer un élément, avec comme valeur 'paris', et comme clé, la valeur par défaut (numérique), 1 (puisque le 0 est déjà attribué)

Ca ressemblera à ça :
CODE
Array
(
    [membre] => fred
    [0] => pierre
    [ville] => anvers
    [1] => paris
)


Toi, ce que tu veux faire, ça ressemble plutôt à ça :
CODE
Array
(
    [membres] => Array
        (
            [0] => fred
            [1] => pierre
        )

    [villes] => Array
        (
            [0] => anvers
            [1] => paris
        )

)


Pour ça, il faut que tu crées des sous-arrays :
CODE
$array2['membres'] = array('fred', 'pierre');
$array2['villes'] = array('anvers', 'paris');


Tu peux ensuite rajouter des éléments, avec la méthode citée plus haut :
CODE
$array2['membres'][] = 'georges';
fredrick
Je te remercie énormément captain torche. Tu m'apprends énormément de choses sur la programmation. J'en apprend tous les jours et ce site est génial. Vous faites du bon travail les gars.

Encore merci,

Fred
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.