petite question sur le foreach

petite question sur le foreach - PHP - Programmation

Marsh Posté le 01-10-2007 à 13:55:59    

Bonjour

 

J'aurai juste une petite question sur le foreach.
le plus simple ca serait que je vous montre la portion de code directement:

 

$table=array('CNH_CON','CNH_ADG','CNH_SUS','CNH_CRC','CNH_INT','CNH_PER','CNH_INV');
$nombre=array(113,19,14,30,80,14,13);

 

foreach($table as $tab && $nombre as $nomb) {
 $retour=tar($TarID,$table,$nomb);
 $str[]=$retour[0];
 $arT[]=$retour[1];}

 

J'aimerai juste savoir si mon foreach est correct ou si c'est impossible d'insérer deux tableaux, un simple for n'est pas autorisé puisqu'il faut que cela reste dynamique et si des élément sont rajoutés dans les tableaux, le code serait à modifier.


Message édité par Metabolicman le 01-10-2007 à 13:57:51
Reply

Marsh Posté le 01-10-2007 à 13:55:59   

Reply

Marsh Posté le 01-10-2007 à 13:57:26    

euh c'est censé faire quoi pour toi

Code :
  1. foreach($table as $tab && $nombre as $nomb)?

[:pingouino]


Message édité par skeye le 01-10-2007 à 13:57:45

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 01-10-2007 à 14:03:19    

Surement une double boucle dans lesquels incrémenter deux tableaux.
Mais php ne permet pas de faire ca ...
Un conseil, fais deux for each. Ou alors tu comptes le nombres d'élément dans tes tableaux et tu fais une simple boucle for et tu sera utilisé les deux tableaux et ce sera tout aussi dynamique !!
 
[@thor]


Message édité par johny527 le 01-10-2007 à 14:04:18
Reply

Marsh Posté le 01-10-2007 à 14:03:21    

fait plutot deux foreach imbriqué  

Code :
  1. foreach($table as $tab)
  2. {
  3.     foreach($nombre as $unNombre)
  4.     {
  5.        //ici tu mets ton code
  6.     }
  7. }

Reply

Marsh Posté le 01-10-2007 à 14:04:07    

ben il boucle sur chaque ligne de chaque tableau jusqu'a ce que le tableau soit fini.
Genre la première boucle aura pour valeur
$tab=CNH_CON et $nomb=113

Reply

Marsh Posté le 01-10-2007 à 14:05:07    

oki merci pour vos réponses rapides ;)

Reply

Marsh Posté le 01-10-2007 à 14:09:28    

Metabolicman a écrit :

ben il boucle sur chaque ligne de chaque tableau jusqu'a ce que le tableau soit fini.
Genre la première boucle aura pour valeur
$tab=CNH_CON et $nomb=113

 

Tu veux la 1ere valeur du premier et la première du second, puis la seconde du premier et la seconde du second, etc?
Dans ce cas pourquoi tu fais pas un truc de ce genre?

 
Code :
  1. table=array('CNH_CON'=>113,'CNH_ADG'=>19,'CNH_SUS'=>14,'CNH_CRC'=>30,'CNH_INT'=>80,'CNH_PER'=>14,'CNH_INV'=>13);
  2. //$nombre=array(113,19,14,30,80,14,13);
  3.  
  4.  
  5. foreach($table as $tab=>$nombre) {
  6. $retour=tar($TarID,$tab,$nombre);
  7. $str[]=$retour[0];
  8. $arT[]=$retour[1];}
 

[:autobot]

Message cité 1 fois
Message édité par skeye le 01-10-2007 à 14:09:38

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 01-10-2007 à 14:09:32    

flo850 a écrit :

fait plutot deux foreach imbriqué  

Code :
  1. foreach($table as $tab)
  2. {
  3.     foreach($nombre as $unNombre)
  4.     {
  5.        //ici tu mets ton code
  6.     }
  7. }



 
Mais si je fais ca il va parcourir entièrement le tableau $nombre pour chaque case du tableau $table alors que les cases de chaque tableau se correspondent, la première case de $table va avec la première de $nombre et ainsi de suite

Reply

Marsh Posté le 01-10-2007 à 14:10:22    

Metabolicman a écrit :


 
Mais si je fais ca il va parcourir entièrement le tableau $nombre pour chaque case du tableau $table alors que les cases de chaque tableau se correspondent, la première case de $table va avec la première de $nombre et ainsi de suite


cf ma réponse du dessus...


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 01-10-2007 à 14:11:23    

skeye a écrit :


 
Tu veux la 1ere valeur du premier et la première du second, puis la seconde du premier et la seconde du second, etc?
Dans ce cas pourquoi tu fais pas un truc de ce genre?
 

Code :
  1. table=array('CNH_CON'=>113,'CNH_ADG'=>19,'CNH_SUS'=>14,'CNH_CRC'=>30,'CNH_INT'=>80,'CNH_PER'=>14,'CNH_INV'=>13);
  2. //$nombre=array(113,19,14,30,80,14,13);
  3.  
  4.  
  5. foreach($table as $tab=>$nombre) {
  6. $retour=tar($TarID,$tab,$nombre);
  7. $str[]=$retour[0];
  8. $arT[]=$retour[1];}


 
[:autobot]


 
Oui ca m'a l'air très bien ca merci :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed