Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23

Discussione: Ordinare array

  1. #1
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128

    Ordinare array

    devo poter ordinare questo array, ma ne non vengo fuori.. è talmente semplice la sua struttura che mi sta mettendo in difficoltà sta mattina.. ho cercato ma non ne vengo fuori... qualcuno riesce a darmi un aiutino?...

    devo ordinarlo in base al campo calcoloTariffa

    ho un elenco di tariffe, 4 per ogni elemento...

    stampo l'elenco degli elementi, per ogni elemento stampo queste 4 tariffe associate.. e devo ordinare queste tariffe.. ogni blocco da 4 dev'essere ordinato dalla piu bassa alla più alta...

    codice:
    Array
    (
        [1] => Array
            (
                [from_date] => 2012-03-08
                [to_date] => 2012-03-09
                [calcoloTariffa] => 80
            )
    
        [2] => Array
            (
                [from_date] => 2012-03-08
                [to_date] => 2012-03-09
                [calcoloTariffa] => 95
            )
    
        [3] => Array
            (
                [from_date] => 2012-03-08
                [to_date] => 2012-03-09
                [calcoloTariffa] => 105
            )
    
        [4] => Array
            (
                [from_date] => 2012-03-08
                [to_date] => 2012-03-09
                [calcoloTariffa] => 130
            )
    
    )
    Array
    (
        [1] => Array
            (
                [from_date] => 2012-03-08
                [to_date] => 2012-03-09
                [calcoloTariffa] => 90
            )
    
        [2] => Array
            (
                [from_date] => 2012-03-08
                [to_date] => 2012-03-09
                [calcoloTariffa] => 105
            )
    
        [3] => Array
            (
                [from_date] => 2012-03-08
                [to_date] => 2012-03-09
                [calcoloTariffa] => 115
            )
    
        [4] => Array
            (
                [from_date] => 2012-03-08
                [to_date] => 2012-03-09
                [calcoloTariffa] => 140
            )
    
    )
    Array
    (
        [1] => Array
            (
                [from_date] => 2012-03-08
                [to_date] => 2012-03-09
                [calcoloTariffa] => 220
            )
    
        [2] => Array
            (
                [from_date] => 2012-03-08
                [to_date] => 2012-03-09
                [calcoloTariffa] => 280
            )
    
        [3] => Array
            (
                [from_date] => 2012-03-08
                [to_date] => 2012-03-09
                [calcoloTariffa] => 320
            )
    
        [4] => Array
            (
                [from_date] => 2012-03-08
                [to_date] => 2012-03-09
                [calcoloTariffa] => 420
            )
    
    )
    Array
    (
        [1] => Array
            (
                [from_date] => 2012-03-08
                [to_date] => 2012-03-09
                [calcoloTariffa] => 105
            )
    
        [2] => Array
            (
                [from_date] => 2012-03-08
                [to_date] => 2012-03-09
                [calcoloTariffa] => 120
            )
    
        [3] => Array
            (
                [from_date] => 2012-03-08
                [to_date] => 2012-03-09
                [calcoloTariffa] => 130
            )
    
        [4] => Array
            (
                [from_date] => 2012-03-08
                [to_date] => 2012-03-09
                [calcoloTariffa] => 155
            )
    
    )

  2. #2
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Dai un occhio a questa forse ti risolve il problema usandola opportunamente

    http://php.net/manual/en/function.array-multisort.php

  3. #3
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    magari sbaglio, ma non serve per ordinare più array contemporaneamente? io devo semplicemente ordinarne uno...

  4. #4
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    posta il codice che hai fatto e vediamo dove sbagli

  5. #5
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Server per ordinare piu' array OPPURE un array multidimensionale come appunto e' il tuo caso.

  6. #6
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Codice PHP:
    <?php
       
    foreach($array1 as $c=>$key) {
            
    $sort_calcoloTariffa[] = $key[calcoloTariffa];
        }

        
    array_multisort($sort_calcoloTariffaSORT_ASC$array1 );
        
    print_r($myArray);
        
    ?>
    per ogni tuo array

  7. #7
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    scusate la lentezza nel rispondere

    io ho risolto così:


    ho semplificato l'array in modo da semplificarmi anche io il lavoro

    stampo una lista di record dal db e creo l'array
    Codice PHP:

    while ($row mysql_fetch_array($sql)) {

    $calcoloTariffa_array[] = $row['calcolo']


    successivamente utilizzo array_multisort

    Codice PHP:
    array_multisort($calcoloTariffa_arraySORT_DESC); 
    calcolo il numero di array creati

    Codice PHP:
    $nArray count($calcoloTariffa_array); 
    e prendo il primo e l'ultimo

    Codice PHP:
    $tariffaBassa $calcoloTariffa_array[$nArray-1];
    $tariffaAlta $calcoloTariffa_array[0]; 
    grazie mille Virus_101 e sorry se ho dubitato, poi rileggendo meglio il manuale, cercando un pò in giro e smanettando il codice ce l'ho fatta


    va bene secondo voi ?


  8. #8
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    No problem succede

    Pai dei test con arrays vari poi controlli il risultato con il bel

    Codice PHP:

    echo "<pre>" ;

    var_dump($arrayOrdinato) ;

    echo 
    "</pre>" 
    e se i campi sono stati correttemante riordinati, allora hai raggiunto l'obiettivo.

    P.S.
    Scusami sono di strafretta e non ho modo di testare il codice.... forse stanotte avro' 1 secondo ...

  9. #9

  10. #10
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    np facce spere come va


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.