synthax : concaténuation dans array

TrX
Eléphanteau du PHP | 14 Messages

27 oct. 2006, 16:18

Bonjour
Comment dire de classer les reponses d'une variable concaténuée ? le code :
<?php
$dir = "pix";
  if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
      while (($file = readdir($dh)) == TRUE) {
        if ( preg_match ( "#photo#", $file)) {   
          $names = array (''.$file.'');
        echo $names[0]; 
         // for ($nbr = 0; $nbr < 5; $nbr++){
         //   echo $names[0];
             // }
           }
        }
     }
  }
?>
au lieu de les classer et d'afficher le premier il donne tous les noms de fichiers dans l'url -> oOo

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

27 oct. 2006, 16:25

Il ne fait que ce que tu lui demandes ;)

Ici, tu écrases à chaque fois ta variable $names au lieu d'ajouter de nouveaux éléments dans le tableau :
$names = array (''.$file.''); 
Du coup, l'élément 0 est toujours le dernier qui a été affecté :)

Ajoute une paire de crochet à $names et regarde le résultat :)
$names[] = array ($file);
A noter que les chaines vides à droite et à gauche de ta variable ne servent asbolument à rien :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

TrX
Eléphanteau du PHP | 14 Messages

27 oct. 2006, 16:40

$names[] = array ($file);
reponce du serveur : ArrayArrayArrayArrayArrayArrayArrayArrayArrayArray
$names[] =  ($file);
réponce : photo-01.jpgphoto-01.jpgphoto-01.jpgphoto-01.jpgphoto-01.jpgphoto-01.jpgphoto-01.jpgphoto-01.jpgphoto-01.jpgphoto-01.jpg
normal on s'en raproche

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

27 oct. 2006, 16:53

Dans le premier cas, tu indique que l'élément que tu ajoutes dans $names[] est un tableau : array($file). D'où, lors de l'affichage de l'élément zéro, il t'écrive en toutes lettre Array :)

Dans le second, tu te contente de mettre la valeur directement dans le tableau, mais comme tu l'affiches dans la boucle, il te le répète autant de fois que tu as d'élément dans le tableau :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

TrX
Eléphanteau du PHP | 14 Messages

27 oct. 2006, 17:31

merci pour les infos Ryle ;)