Page 1 sur 1

probleme avec tableau associatif

Posté : 17 oct. 2005, 19:15
par Francis2
Bonjour,

J'ai un probleme relativement stupide pour "construire" un tableau associatif avec plusieurs colonnes:
<?
// exemple
$tab = array( "fichier" => "toto.jpg, "datefichier" => "2005 05 05" );

/* Ok alors si j'ai bien compris la ca me crée un tableau avec
une colonne fichier et une autre colonne datefichier
et pour l'instant il n'y a qu'une ligne dans le tableau
ligne 0 avec toto.jpg 2005 05 05*/
?>
Ma question est assez bête:
Comment faire pour ajouter des nouvelles lignes a la suite ?

est ce que chaque ligne doit etre un arraw elle même ?

j'ai essayé avec array_push mais ca marche pas


par avance merci,


FRancis

Posté : 17 oct. 2005, 19:40
par Cyrano
Il faudrait que tu utilises un tableau à deux dimensions, donc que "fichier" et "datefichier" soient des tableaux à l'intérieur du tableau $tab: dans ce cas, tu initialise au départ comme ceci:
<?php
$tab = array( "fichier" => array("toto.jpg"), "datefichier" => array("2005 05 05"));
?>
Première méthode pour ajouter des éléments
<?php
array_push($tab['fichier'],'tata.jpg');
array_push($tab['datefichier'], '2005 05 06');
?>
Méthode alternative pour faire exactement le même ajout
<?php
$tab['fichier'][] = 'tata.jpg';
$tab['datefichier'][] = '2005 05 06';
?>
Récupération et affichage
<?php
$nb = count($tab['fichier']);
echo("<ul>\n");
for($i = 0; $i < $nb; $i++)
{
    echo("<li>Fichier ". $tab['fichier'][$i] ." du ". $tab['datefichier'][$i] .".</li>\n");
}
echo("</ul>\n");
?>

Posté : 19 oct. 2005, 23:53
par Invité
Merci c'est exactement ce que je voulais faire. Tu as bien repondu a ma question.

ps: est ce que par hasard l'ajout d'une ligne peut aussi se faire avec une instruction ?

<?php
$tab['fichier'][] = 'tata.jpg';
$tab['datefichier'][] = '2005 05 06';
?>

j'ai pensé que $tab[1]=array("toto2.jpg", "2005 09 10"); marcherait .... mais non ...

merci,

FRancis

Posté : 20 oct. 2005, 08:58
par Cyrano
Relis bien ma réponse : je t'ai indiqué deux méthodes valides pour ajouter des données dans les tableaux incluant celle que tu mentionnes.