E' possibile settare un array del tipo:
$aa[1][10, 2, 8]
$aa[2][3, 1, 1]
$aa[3][5, 2, 3]
$aa[4][0, 0, 0]
$aa[5][9, 5, 4]
e dopo ordinarlo (per il primo valore - per il 2 - per il 3) per far visualizzare:
10, 2, 8
9, 5, 4
5, 2, 3
3, 1, 1
0, 0, 0
E' possibile settare un array del tipo:
$aa[1][10, 2, 8]
$aa[2][3, 1, 1]
$aa[3][5, 2, 3]
$aa[4][0, 0, 0]
$aa[5][9, 5, 4]
e dopo ordinarlo (per il primo valore - per il 2 - per il 3) per far visualizzare:
10, 2, 8
9, 5, 4
5, 2, 3
3, 1, 1
0, 0, 0
Originariamente inviato da GaRo73
E' possibile settare un array del tipo:
$aa[1][10, 2, 8]
$aa[2][3, 1, 1]
$aa[3][5, 2, 3]
$aa[4][0, 0, 0]
$aa[5][9, 5, 4]
e dopo ordinarlo (per il primo valore - per il 2 - per il 3) per far visualizzare:
10, 2, 8
9, 5, 4
5, 2, 3
3, 1, 1
0, 0, 0Codice PHP:
$array = array(
array(10,2,8),
array(3,1,1),
array(5,2,3),
array(0,0,0),
array(9,5,4)
);
echo '<pre>';
print_r($array);
$chiavi = array();
foreach($array as $elm)
foreach(array_slice($elm,0,1) as $v) {
$chiavi[] = $v;
}
array_multisort($chiavi,SORT_DESC,$array);
print_r($array);
Scusa Nicola,
non son riuscito a spiegarmi o non riesco a capire il tuo script.
Allora io ho una serie di valori (righe) e un serie di altri valori (colonne),
quindi pensavo di fare un ciclo che mi setti:
prima le righe ($x 1-2-3 ... n)
dopo le colonne ($a, $b, $c - una serie di 3 numeri che poi si devono ordinare),
ES:
$x = 0;
while ($x < $n) {
$x++;
$aa[$x][$a, $b, $c];
/// cambia i valori di $a, $b, $c
}
quindi al primo giro dovrebbe essere una cosa del genere
$aa[1][10, 2, 8]
secondo
$aa[2][3, 1, 1]
altri
$aa[3][5, 2, 3]
$aa[4][0, 0, 0]
$aa[5][9, 5, 4]
...
...
sempre con un ciclo del tipo:
$x = 0;
while ($x < $n) {
$x++;
echo"$aa[$x]
";
}
volevo visualizzare:
10, 2, 8
9, 5, 4
5, 2, 3
3, 1, 1
0, 0, 0
Spero di essere stato chiaro,
grazie per la collaborazione.
Ho risolto quasi tutto,
sbagliavo il modo di settare l'array.![]()
Ho fatto così:
$aa[$i][0] = $a;
$aa[$i][1] = $b;
$aa[$i][2] = $c;
$aa[$i][3] = $d;
poi lo ordino come mi ha detto Nicola:
$chiavi = array();
foreach($aa as $elm)
foreach(array_slice($elm,1,1) as $v) {
$chiavi[] = $v;
}
array_multisort($chiavi,SORT_DESC,$aa);
ora me li ordina per il secondo valore e va bene,
come modifico per ordinare per il terzo, quarto ecc.