Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Ordinare array multidimensionale

    So che si soo diversi thread che trattano l'argomento, ma li ho letti senza giungere a soluzione, quindi se qualcuno mi potessse dare una mano....

    Allora, ho un array multidimensionale dichiarato così:

    Codice PHP:
    $tagsocc = array('tags' => array(), 'occ' => array()); 
    In pratica sono due colonne, una con un valore stringa è l'altro con un intero.

    Voglio ordinarlo in base alla colonna 'occ', cioè il valore numerico.

    Ecco un esempio della stampa di una array:

    Codice PHP:
    Array
    (
        [
    occ] => Array
            (
                [
    0] => 6
                
    [1] => 1
                
    [2] => 3
                
    [3] => 9
                
    [4] => 4
                
    [5] => 6
                
    [6] => 2
                
    [7] => 8
                
    [8] => 5
                
    [9] => 3
                
            
    )

        [
    tags] => Array
            (
                [
    0] => 'stringa1'
                
    [1] => 'stringa2'
                
    [2] => 'stringa3'
                
    [3] => 'stringa4'
                
    [4] => 'stringa5'
                
    [5] => 'stringa6'
                
    [6] => 'stringa7'
                
    [7] => 'stringa8'
                
    [8] => 'stringa9'
                
    [9] => 'stringa10'
                
            

    Ho provato con la funzione array_multisort() di cui ho letto negli altri thread, ma forse sbaglio qualcosa ma ho anche notato che il mio array non è proprio uguale a quello degli esempi, quindi probabilmente devo cambiare qualcosa...

    Grazie in anticipo.

  2. #2
    cioè tu vuoi ordinare anche tags in base a occ?
    Dolcissima è la vita nella totale assenza di senno.

  3. #3
    Sì, anche le relative stringhe 'tags' devono essere ordinate in base a 'occ'.

  4. #4
    Dovrei esserci arrivato:

    Codice PHP:
    foreach($tagsocc['occ'] as $key => $res)
    $eta[$key] = $res

    array_multisort($etaSORT_DESC$tagsocc['tags'], SORT_DESC$tagsocc['occ']); 
    In pratica bastava applicare una piccola modifica al codice presente negli altri thread, in modo che ordinasse non per colonne ma per righe.

    Ciao

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 © 2024 vBulletin Solutions, Inc. All rights reserved.