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

    Ordinamento array multidimensionale

    Ho un problema che con un array.
    $array_listing[0] = array('casa 1' => '300');
    $array_listing[1] = array('casa 2' => '200');
    $array_listing[2] = array('casa 3' => '200');
    $array_listing[3] = array('casa 4' => '500');
    $array_listing[4] = array('casa 5' => '300');

    Vorrei ordinare l'array per prezzo ma nello stesso tempo anche per titolo della casa.

    Ho usato questa funzione:

    usort($array_listing, 'sortByOrder');

    dove:

    function sortByOrder($a, $b) {
    return $a['price'] < $b['price'] ? -1 : 1;
    }

    Ordina solo per prezzo mentre i titoli della casa lo fa a modo suo. Come posso fare???
    Grazie.
    www.stefanoraone.com Webdesigner Freelance
    www.santamariadileuca.it - Portale turistico informativo, Santa Maria di Leuca

  2. #2
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    Nella funzione sortByOrder() devi inserire una condizione: se i valori di prezzo solo uguali ordina per chiave dell'array.
    In questo modo ordina prima per prezzo e poi per titolo della casa (la chiave dell'array)

  3. #3

    Risolto

    Risolto in questo modo:

    function sortByOrder($a, $b) {
    $retval = strnatcmp($a['price'], $b['price']);
    if(!$retval) $retval = strnatcmp($a['title'], $b['title']);
    return $retval;
    }
    Ultima modifica di sraone77; 23-02-2016 a 13:31
    www.stefanoraone.com Webdesigner Freelance
    www.santamariadileuca.it - Portale turistico informativo, Santa Maria di Leuca

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.