Discussion:
Array et foreach
(trop ancien pour répondre)
William
2007-02-23 16:53:01 UTC
Permalink
Désolé modérateur un raccourcis un peu violent à fait partir le mail
précedent.
je recommence donc

bonsoir

Un peu d'aide SVP
Voici un tableau

$TauxDef[0] = array( 'name'=>'rep' , 'value' => 'Repetition' ,
tx=>"0.000");
$TauxDef[1] = array( 'name'=>'100' , 'value' => "100%" , tx=>"0.000");
$TauxDef[2] = array( 'name'=>'95-99', 'value' => "100%" , tx=>"0.000");
$TauxDef[3] = array( 'name'=>'85-94', 'value' => "100%" , tx=>"0.000");
$TauxDef[4] = array( 'name'=>'75-84', 'value' => "100%" , tx=>"0.000");
$TauxDef[5] = array( 'name'=>'50-74', 'value' => "100%" , tx=>"0.000");
$TauxDef[6] = array( 'name'=>nomatch, 'value' => 'No Match' ,
tx=>"0.000");
$TauxDef[7] = array( 'name'=>horaire, 'value' => 'Horaire' ,
tx=>"0.000");

Une boucle avec Foreach
j'ai essayé pas mal de trucs mais je n'arrve pas à me placer avec $N et $V,
pourquoi?


$i=0;
foreach ( $TauxDef as $N => $V){
i++;
}
Quelle est la bonne syntaxe pour se placer?
Je n'y arrive qu'avec $TauxDef[$i]['name'] ou $TauxDef[$i]['value'] et bien
sur $TauxDef[$i]['tx']
est t-il possible d'utiliser $N et $V avec des crochets??

alors que faire? changer de type de boucle, reprendre l'école??

Merci

Cordialment
Thierry
2007-02-23 21:12:36 UTC
Permalink
bonsoir
Post by William
Un peu d'aide SVP
ça vient, ça vient...
Post by William
$TauxDef[0] = array( 'name'=>'rep' , 'value' => 'Repetition' ,
tx=>"0.000");
pour répondre à ta question
foreach ( $TauxDef as $N => $V){
echo $N.'//name:'.$V['name'].'/value'.$V['value'].'/tx'.$V['tx'].'<br
/>';
}

pour aller un peu plus loin
http://fr.php.net/manual/fr/function.var-dump.php
est ton ami. Ca aide a comprendre le format de ce que l'on manipule.
var_dump($V); //par exemple

et pour rigoler et montrer qu'on a bien compris
echo "<table>";
foreach ( $TauxDef as $K1 => $V1){
echo '<tr>';
foreach ($V1 as $K2 => $V2) {
echo '<td>'.$V2.'</td>';
}
echo '</tr>';
}
echo "</table>";

bonne soirée
Olivier Miakinen
2007-02-23 21:12:36 UTC
Permalink
Post by William
Un peu d'aide SVP
Je n'ai pas bien compris ce que tu cherches à faire exactement, mais au
vu de tes données je vais essayer d'écrire quelque chose qui t'affiche
les résultats.
Post by William
Voici un tableau
$TauxDef[0] = array( 'name'=>'rep' , 'value' => 'Repetition' , tx=>"0.000");
$TauxDef[1] = array( 'name'=>'100' , 'value' => "100%" , tx=>"0.000");
$TauxDef[2] = [etc.]
Note que puisque tu définis tous les indices successifs à partir de 0 tu
peux te dispenser de les écrire explicitement :

$TauxDef[] = array('name'=>'rep', 'value' => 'Repetition', tx=>"0.000");
$TauxDef[] = array('name'=>'100', 'value' => "100%", tx=>"0.000");
$TauxDef[] = [etc.]

Voire :

$TauxDef = array(
array('name'=>'rep', 'value' => 'Repetition', tx=>"0.000"),
array('name'=>'100', 'value' => "100%", tx=>"0.000"),
[etc.]
)
Post by William
Une boucle avec Foreach
Puisque tu as un tableau de tableau, il doit te falloir deux boucles
imbriquées. Est-ce là l'origine de ton problème ?

foreach ($TauxDef as $A) {
foreach ($A as $N => $V) {
...
}
}

Ou alors :

foreach ($TauxDef as $A) '
... $A['name'] ... $A['value'] ... $A[tx] ...
}

Attention : si tx n'est pas une constante mais est censée représenter
une chaîne de deux caractères 't' et 'x', alors il faut aussi l'écrire 'tx'.
Continuer la lecture sur narkive:
Loading...