Ordine array bidimensionale

Stefi

Nuovo Utente
14 Mag 2013
18
0
0
Salve,
volevo chiedere se era possibile fare un array che per ogni spazio ci siano dentro due valori, e dopo ordinarli in base ad un valore senza perdere l'altro valore.
Mi spiego con un esempio:
ho l'id
$id;
es ho una media che cambia in base a che id si ha
$media;
inserisco i valori nell'array bidimensionale in questo modo
array[1][1]=$id;
array[1][2]=$media;

quindi
array[1][1]=1;
array[1][2]=345;
array[2][1]=2;
array[2][2]=543;


altro id e media

Ora volevo metterli in ordine in base alla media.
e ottenere una cosa del genere:

array[1][1]=2;
arra[1][2]=543;
array[2][1]=1;
array[2][2]=345;
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Ti ho scritto questa funzione che dovrebbe andar bene

PHP:
function ordina($a){
    $r = array();
    foreach($a as $a2)  //riordino l'array usando come chiave la media
        $r[$a2[2]] = $a2;
    krsort($r); //ordino le chiavi in modo decrescente, quindi anche gli elementi
    $r = array_values($r); //prendo i valori
    foreach($r as $k=>$v) //li riordino aumentandoli di 1 per riavere le chiavi originali
        $r[++$k] = $v;
    unset($r[0]); //elimino la prima chiave 0 per evitare il duplicarsi di essa
    return $r;
}

Test:
PHP:
$array = array();
$array[1][1]=1;
$array[1][2]=345;
$array[2][1]=2;
$array[2][2]=543;
$array[3][1]=3;
$array[3][2]=394;
$array[4][1]=4;
$array[4][2]=675;
$array[5][1]=5;
$array[5][2]=804;
$array[6][1]=6;
$array[6][2]=740;
$array[7][1]=7;
$array[7][2]=490;
$array[8][1]=8;
$array[8][2]=650;
echo '<pre>';
print_r(ordina($array));
echo '</pre>';


/* Output:
Array
(
    [1] => Array
        (
            [1] => 5
            [2] => 804
        )

    [2] => Array
        (
            [1] => 6
            [2] => 740
        )

    [3] => Array
        (
            [1] => 4
            [2] => 675
        )

    [4] => Array
        (
            [1] => 8
            [2] => 650
        )

    [5] => Array
        (
            [1] => 2
            [2] => 543
        )

    [6] => Array
        (
            [1] => 7
            [2] => 490
        )

    [7] => Array
        (
            [1] => 3
            [2] => 394
        )

    [8] => Array
        (
            [1] => 1
            [2] => 345
        )

)
*/
 
Ultima modifica:

Stefi

Nuovo Utente
14 Mag 2013
18
0
0
Scusa se rispondo solo adesso.
Comunque funziona e grazie mille davvero :D
 
Discussioni simili
Autore Titolo Forum Risposte Data
RedWolf Paginazione, ordine alfabetico e array PHP 4
F Script non funzionante. Devo elencare in ordine alfabetico un elenco di nominativi, ma lo script non Javascript 2
Tommy03 Select in ordine per numero di record MySQL 7
M Matrice di caratteri ( inseriti da tastiera ) ordinati in ordine alfabetico C/C++ 2
felino [WordPress] [WooCommerce] Ordine: aggiungere nuovi stati con notifica email al cliente WordPress 4
J modifica spooler di stampa per stampare in ordine di nome i files pdf Windows e Software 2
G [HTML] Modificare ordine dei div in mobile responsive HTML e CSS 5
F [HTML] Modulo d'ordine che arriva tramite email editabile ed inviabile. HTML e CSS 6
S Inserire ordine minimo E-Commerce 3
R PROBLEMA INVIO EMAIL AL CAMBIO DI STATO ORDINE E-Commerce 1
webmachine [PRESTASHOP] Cambiare ordine prezzo-sconto-prezzoscontato E-Commerce 1
ANDREA20 [PHP] Numero ordine PHP 15
ANDREA20 [MySQL] [PHP] Invio email ordine MySQL 12
A [WordPress] Plugin gestione ordine prodotto. WordPress 0
ANDREA20 [PHP] Invio ordine via email PHP 14
webmachine [PRESTASHOP] Ordine Prodotti personalizzato E-Commerce 1
gandalf1959 Scansione di file in una directory: non sono in ordine crescente. Come mai? PHP 8
C verifica e invio ordine php PHP 19
L Ordinare articoli dentro categorie e tag in ordine alfabetico wordpress WordPress 1
felino [Wordpress] Ordine per Calendario Personalizzato WordPress 1
Shyson Stampare lista in ordine decrescente Database 1
M elementi di una gridview appaiono in ordine casuale invece di quello deciso da me Sviluppo app per Android 2
A Aiuto per ordine cronologico lista file all'interno di una cartella protetta PHP 2
K Stampa ordine Javascript 6
blips Ordine di esecuzione query PHP 3
StarFish [c++] matrice con ordine crescente C/C++ 0
Trapano [risolto] Leggere da un file txt in ordine inverso PHP 2
felino [Virtuemart] Modifica del template dell'ordine inviato dopo l'acquisto Joomla 0
P PHP modulo ricerca e ordine alfabetico PHP 5
ivarello Ordinare dati Var in ordine numerico PHP 9
valient13 ordinare in ordine decrescente la lista PHP 2
F ordine per data PHP 13
P ordine alfabetico A Z Classic ASP 13
M problema "Ordine del carico jquery librerie deve essere cambiato" jQuery 0
Sargon ordine delle parole PHP, My sql PHP 5
M campo ordine da modificare con form PHP 2
S ORDINE WEBMASTER - Nuovo portale per i professionisti del web Presenta il tuo Sito 7
N visualizzare foto in ordine di upload PHP 8
M modulo asp per ordine non funziona Classic ASP 6
B ordine cronologico articoli PHP 2
I Inviare due email per ordine PHP 5
LaKanka Problema query ordine di visualizzazione PHP 17
K Formato misto e ordine record Database 1
A come abilitare in ordine un imput di tipo file??? Javascript 3
B collegare un utente ad un ordine PHP 0
F query per ordine alfabetico ma... PHP 1
S Selezione da ordine alfabetico per tipo Classic ASP 15
L Form Ordine (Selettore Quantità) Javascript 11
F Estrarre record in ordine casuale Classic ASP 0
A Ordine caricamento pagina web HTML e CSS 0

Discussioni simili