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

    Ordinamento di un array bidimensionali in base alla colonna valori

    Buongiorno a tutti, ho un quesito da porre a chiunque vorrà rispondermi:

    Ho un array associativo bidimensionale, con la struttura classica chiave-valore.

    [Milano] => 2
    [Firenze] => 8
    [Napoli] => 19
    [Genova] => 4
    [Torino] => 17
    [Roma] => 6
    [Palermo] => 22

    Vorrei ordinare in base alla colonna valore, cioè la seconda.

    In pratica vorrei che l'array forsse così ordinato:
    [Milano] => 2
    [Genova] => 4
    [Roma] => 6
    [Firenze] => 8
    [Torino] => 17
    [Napoli] => 19
    [Palermo] => 22

    So che esiste la funzione ksort, che ordina in base alle chiavi. Ce ne è una corrispondente per i valori? Se sì non riesco a trovarla.

    Grazie a chiunque vorrà rispndermi

  2. #2
    http://it.php.net/manual/en/function.asort.php

    Comunque quello non e' un array bidimensionale.

  3. #3
    Ok, grazie del suggerimento

    Curiosità (mia ignoranza): perchè non è un array bidimensionale?

  4. #4
    Perche' la "seconda dimensione" e' data dal fatto che gli elementi di un array sono essi stessi array. Nella forma piu' semplice puoi pensare a una tabella con righe e colonne. Il tuo array e' solo una lista che ha stringhe invece che numeri come chiavi.

  5. #5
    Io invece ho davvero un array bidimensionale, come faccio ad ordinarlo secondo un senso crescente o decrescente dei valori di una sola delle colonne?

    Esempio:
    [Roma] ([nome]=> Mario, [cognome]=> Cesaroni, [età]=> 45)
    [Napoli] ([nome]=> Diego, [cognome]=> Esposito, [età]=> 15)
    [Milano] ([nome]=> Daniele, [cognome]=> Carloni, [età]=>91)

    voglio ordinarli per età (crescente). Come posso fare? cercando su Google non sono riuscito a trovare funzioni utili al mio scopo...grazie!

  6. #6
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    @Nicolaesse sarei curioso di sapere cosa hai cercato su google, solo su questo forum già diverse volte è stata data la risposta a questa domanda

    Codice PHP:
    function myCmp$left$right ) {
          return (
    $left['età'] < $right['età'] ) ? -1;
      }

      
    usort$l'myCmp' ); 
    Ciao

  7. #7
    Ho cercato "sort multidimensional array php" però purtroppo nella quasi totalità dei casi mi riportava ad una descrizione della funzione asort o della funzione multisort.
    Ad ogni modo grazie della dritta, ora faccio qualche prova.

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.