Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Fichico
    Registrato dal
    Nov 2002
    residenza
    Bologna
    Messaggi
    581

    Ordinare solo una chiave di un array multidimensionale

    Ciao, ho un array di questo tipo:
    Codice PHP:
    $miaVar = Array(
                    
    11 => Array(
                                
    126 => Array(
                                    
    => Array(10),
                                    
    => Array(3,6,8,14)
                        ),
                        
    55 => Array(
                            
    => Array(2,15),
                            
    => Array(5)
                    )
            )
    ); 
    dovrei far si che la chiave 55 e 126 ordinino i loro sottoelementi, in pratica vorrei avere chiave[0], chiave[1], chiave[2]

    Per capire meglio quello che dovrei ottenere è questo:
    Codice PHP:
    $miaVar = Array(
                    
    11 => Array(
                                
    126 => Array(
                                    
    => Array(3,6,8,14),
                                    
    => Array(10)
                        ),
                        
    55 => Array(
                            
    => Array(2,15),
                            
    => Array(5)
                    )
            )
    ); 
    ho provato con questa funzione ... ma non mi viene ordinato nulla
    Codice PHP:
    foreach($miaVar as $chiaveA => $valoriA){
        foreach(
    $valoriA as $chiaveB => $valoriB){
            
    //print "----
    <pre>"; print_r($valoriB); print "</pre>
    ";
            ksort(
    $valoriB);
            //print "
    ----
    <
    pre>"; print_r($valoriB); print "</pre>
    ";
        }

    dove sbaglio???

  2. #2
    devi "smontare" l'array e rimontarlo
    Codice PHP:
    $miaVar = Array( 
                    
    11 => Array( 
                                
    126 => Array( 
                                    
    => Array(10), 
                                    
    => Array(3,6,8,14
                        ), 
                        
    55 => Array( 
                            
    => Array(2,15), 
                            
    => Array(5
                    ) 
            ) 
    );

    $nuovo_array = array();
    foreach(
    $miaVar as $key1 => $primo_livello){
        
    $nuovo_array[$key1] = array();
        foreach(
    $primo_livello as $key2 => $secondo_livello){
            
    ksort($secondo_livello);
            
    $nuovo_array[$key1][$key2] = $secondo_livello;
            }
        }
    $miaVar $nuovo_array;
    unset(
    $nuovo_array);
    print_r($miaVar); 
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

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.