probleme avec tableau associatif

Francis2
Invité n'ayant pas de compte PHPfrance

17 oct. 2005, 19:15

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

Mammouth du PHP | 19672 Messages

17 oct. 2005, 19:40

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");
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

19 oct. 2005, 23:53

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

Mammouth du PHP | 19672 Messages

20 oct. 2005, 08:58

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.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: