par
tesmet » 20 déc. 2014, 18:48
Salut
var_dump permet de voir le contenu de variables lorsque l'on est en debug, où l'utiliser? dans ton cas juste après le array_multisort()
$data[] = array('nom' => "NOM A", 'TOTAL1' => "10", 'TOTAL2' => "5");
$data[] = array('nom' => "NOM B", 'TOTAL1' => "20", 'TOTAL2' => "10");
$data[] = array('nom' => "NOM C", 'TOTAL1' => "30", 'TOTAL2' => "15");
foreach ($data as $key => $row)
{
$nom[$key] = $row['nom'];
$TOTAL1[$key] = $row['TOTAL1'];
$TOTAL2[$key] = $row['TOTAL2'];
}
// Trie les données par TOTAL1 décroissant, TOTAL2 croissant
// Ajoute $data en tant que dernier paramètre, pour trier par la clé commune
array_multisort($TOTAL1, SORT_DESC, $TOTAL2, SORT_DESC, $data);
var_dump($data);
foreach ($TOTAL1 as $key => $val)
{
echo ''.$TOTAL1[$key].' '.$TOTAL2[$key].' '.$nom[$key].'<BR>';
}
Mais c'est pour aider à débuger un script. Pour ton code, il faut remplacer $data dans le array_multisort() par $nom pour que la boucle foreach() qui suit affiche les valeurs dans le bon ordre
array_multisort($TOTAL1, SORT_DESC, $TOTAL2, SORT_DESC, $nom);
foreach ($TOTAL1 as $key => $val)
{
echo ''.$TOTAL1[$key].' '.$TOTAL2[$key].' '.$nom[$key].'<BR>';
}
Si tu veux conserver $data trier comme tu le veux, alors il faut changer la boucle foreach()
array_multisort($TOTAL1, SORT_DESC, $TOTAL2, SORT_DESC, $data);
foreach($data as $ligne) {
echo $ligne['TOTAL1'].' '.$ligne['TOTAL2'].' '.$ligne['nom'].'<br/>';
}
Bonne chance
Salut
var_dump permet de voir le contenu de variables lorsque l'on est en debug, où l'utiliser? dans ton cas juste après le array_multisort()
[php]$data[] = array('nom' => "NOM A", 'TOTAL1' => "10", 'TOTAL2' => "5");
$data[] = array('nom' => "NOM B", 'TOTAL1' => "20", 'TOTAL2' => "10");
$data[] = array('nom' => "NOM C", 'TOTAL1' => "30", 'TOTAL2' => "15");
foreach ($data as $key => $row)
{
$nom[$key] = $row['nom'];
$TOTAL1[$key] = $row['TOTAL1'];
$TOTAL2[$key] = $row['TOTAL2'];
}
// Trie les données par TOTAL1 décroissant, TOTAL2 croissant
// Ajoute $data en tant que dernier paramètre, pour trier par la clé commune
array_multisort($TOTAL1, SORT_DESC, $TOTAL2, SORT_DESC, $data);
var_dump($data);
foreach ($TOTAL1 as $key => $val)
{
echo ''.$TOTAL1[$key].' '.$TOTAL2[$key].' '.$nom[$key].'<BR>';
}[/php]
Mais c'est pour aider à débuger un script. Pour ton code, il faut remplacer $data dans le array_multisort() par $nom pour que la boucle foreach() qui suit affiche les valeurs dans le bon ordre
[php] array_multisort($TOTAL1, SORT_DESC, $TOTAL2, SORT_DESC, $nom);
foreach ($TOTAL1 as $key => $val)
{
echo ''.$TOTAL1[$key].' '.$TOTAL2[$key].' '.$nom[$key].'<BR>';
}[/php]
Si tu veux conserver $data trier comme tu le veux, alors il faut changer la boucle foreach()
[php] array_multisort($TOTAL1, SORT_DESC, $TOTAL2, SORT_DESC, $data);
foreach($data as $ligne) {
echo $ligne['TOTAL1'].' '.$ligne['TOTAL2'].' '.$ligne['nom'].'<br/>';
}
[/php]
Bonne chance