synthax : concaténuation dans array

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : synthax : concaténuation dans array

par TrX » 27 oct. 2006, 17:31

merci pour les infos Ryle ;)

par Ryle » 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 :)

par TrX » 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

par Ryle » 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 :)

synthax : concaténuation dans array

par TrX » 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