Tableau multidimensionnel

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 : Tableau multidimensionnel

[Resolu]: Tableau multidimensionnel

par perdu » 08 nov. 2011, 19:53

Que je suis bête parfois ! L'erreur était si simple a corriger j'ai honte ;-)

Merci pour cette réponse ultra rapide et tout aussi efficace !

Re: Tableau multidimensionnel

par xTG » 08 nov. 2011, 19:29

Premièrement pas tiptop de nommer deux variables de la même façon, $link est aussi utilisée pour autre chose. Dans ton cas cela ne gêne pas pour le moment, mais avec la correction ça va gêner. ;)

Le souci est qu'à chaque itération de la boucle tu réécrases la variable $link. Il faut l'allouer à un autre index.
Tu peux laisser la génération de l'index libre à PHP de la façon suivante :
$tabMulti = array();
for($i=0; $i < 5; $i++){
  $tabMulti[] = array(
    'nombre' => $i
  );
}
Tu obtiendras ainsi un tableau numéroté de 0 à N.

Tableau multidimensionnel

par perdu » 08 nov. 2011, 19:07

Bonjour dans une fonction je crée un tableau qui contient un tableau multidimensionnel. Hors je n'arrive pas a renvoyé tous les résultats j'arrive seulement a avoir le dernier chaque fois.

Voici ma fonction :
function file_array($file){
	//10027;http://www.test.com;text;link title;
	$lines = file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

	foreach ($lines as $line_num => $line) {
		 list($position, $link, $type, $value) =  explode(';',$line);
		 $link = array(array('position' => $position,
             'link' => $link,
             'type' => $type,
             'value'  => $value                     
          ));
		 
	}
	return $link;

}
Et voici ce que j'obtient avec un var_dump
array
  0 => 
    array
      'position' => string '10027' (length=5)
      'link' => string 'http://www.test.com' (length=19)
      'type' => string 'text' (length=4)
      'value' => string 'link tiltle' (length=12)
Dans mon fichier il y a 54 enregistrement.

J'ai essayé $link[$line_num] = array(array('position' => $position, ... Mais j'obtient une erreur alors me voilà perdu !
Donc comment recevoir tous les résultats ??
Merci de votre soutient !