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

    [array] usare parte di un valore come chiave dell'array

    Buongiorno, il titolo non è un granché esplicativo, spiego la situazione:
    da tre file di testo stampo tutti i dati di ogni gara, nel frattempo memorizzo solo il nome dei piloti e i punti (perché in seguito dovrò stampare la classifica generale) e ottengo questo array
    Array
    (
    [0] => Array
    (
    [Valentino ROSSI] => 16
    [Jorge LORENZO] => 25
    [Andrea DOVIZIOSO] => 10
    [Nicky HAYDEN] => 13
    [Ben SPIES] => nc
    [Randy DE PUNIET] => 7
    [Dani PEDROSA] => 20
    [Colin EDWARDS] => 4
    [Loris CAPIROSSI] => nc
    [Hiroshi AOYAMA] => 2
    [Marco SIMONCELLI] => 5
    [Hector BARBERA] => 3
    [Marco MELANDRI] => 8
    [Alvaro BAUTISTA] => 6
    [Aleix ESPARGARO] => 1
    [Casey STONER] => 11
    [Mika KALLIO] => 9
    )

    [1] => Array
    (
    [Valentino ROSSI] => 20
    [Jorge LORENZO] => 25
    [Andrea DOVIZIOSO] => 16
    [Nicky HAYDEN] => 13
    [Ben SPIES] => nc
    [Randy DE PUNIET] => 9
    [Dani PEDROSA] => 11
    [Colin EDWARDS] => 4
    [Loris CAPIROSSI] => nc
    [Hiroshi AOYAMA] => 5
    [Marco SIMONCELLI] => 6
    [Hector BARBERA] => 8
    [Marco MELANDRI] => 10
    [Alvaro BAUTISTA] => 6
    [Aleix ESPARGARO] => 7
    [Casey STONER] => nc
    [Mika KALLIO] => 3
    )

    [2] => Array
    (
    [Valentino ROSSI] => 25
    [Jorge LORENZO] => 20
    [Andrea DOVIZIOSO] => 16
    [Nicky HAYDEN] => 13
    [Ben SPIES] => 11
    [Randy DE PUNIET] => 10
    [Dani PEDROSA] => 9
    [Colin EDWARDS] => 8
    [Loris CAPIROSSI] => 7
    [Hiroshi AOYAMA] => 6
    [Marco SIMONCELLI] => 5
    [Hector BARBERA] => 4
    [Marco MELANDRI] => 3
    [Alvaro BAUTISTA] => nc
    [Aleix ESPARGARO] => nc
    [Casey STONER] => nc
    [Mika KALLIO] => nc
    )

    )


    Vorrei ottenere qualcosa del tipo:

    [Jorge LORENZO] => 20 25 25
    [Valentino ROSSI] => 25 16 20
    [Andrea DOVIZIOSO] => 25 16 20

    oppure

    $Jorge_LORENZO = 20 25 25
    $Valentino_ROSSI = 25 16 20
    $Andrea_DOVIZIOSO = 16 10 16
    #continuerebbe...

    ma ci ho fatto la testa ho provato anche a trasformare l'array multidim in monodimensionale ottenendo

    Array
    (
    [0] => Valentino ROSSI-25
    [1] => Jorge LORENZO-20
    [2] => Andrea DOVIZIOSO-16
    [3] => Nicky HAYDEN-13
    [4] => Ben SPIES-11
    [5] => Randy DE PUNIET-10
    [6] => Dani PEDROSA-9
    [7] => Colin EDWARDS-8
    [8] => Loris CAPIROSSI-7
    [9] => Hiroshi AOYAMA-6
    [10] => Marco SIMONCELLI-5
    [11] => Hector BARBERA-4
    [12] => Marco MELANDRI-3
    [13] => Alvaro BAUTISTA-nc
    [14] => Aleix ESPARGARO-nc
    [15] => Casey STONER-nc
    [16] => Mika KALLIO-nc
    [17] => Valentino ROSSI-20
    [18] => Jorge LORENZO-25
    [19] => Andrea DOVIZIOSO-16
    [20] => Nicky HAYDEN-13
    [21] => Ben SPIES-nc
    [22] => Randy DE PUNIET-9
    [23] => Dani PEDROSA-11
    [24] => Colin EDWARDS-4
    [25] => Loris CAPIROSSI-nc
    [26] => Hiroshi AOYAMA-5
    [27] => Marco SIMONCELLI-6
    [28] => Hector BARBERA-8
    [29] => Marco MELANDRI-10
    [30] => Alvaro BAUTISTA-6
    [31] => Aleix ESPARGARO-7
    [32] => Casey STONER-nc
    [33] => Mika KALLIO-3
    [34] => Valentino ROSSI-16
    [35] => Jorge LORENZO-25
    [36] => Andrea DOVIZIOSO-10
    [37] => Nicky HAYDEN-13
    [38] => Ben SPIES-nc
    [39] => Randy DE PUNIET-7
    [40] => Dani PEDROSA-20
    [41] => Colin EDWARDS-4
    [42] => Loris CAPIROSSI-nc
    [43] => Hiroshi AOYAMA-2
    [44] => Marco SIMONCELLI-5
    [45] => Hector BARBERA-3
    [46] => Marco MELANDRI-8
    [47] => Alvaro BAUTISTA-6
    [48] => Aleix ESPARGARO-1
    [49] => Casey STONER-11
    [50] => Mika KALLIO-9
    )

    Ora se faccio un ciclo e "explodo" l'array mi ritrovo nuovamente un array multidimensionale e sono daccapo!
    Qualcuno ha una soluzione?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Codice PHP:
    $array_nuovo=array();//i valori verranno copiati in un nuovo array
    foreach($array_grande as $sk=>$subarr){//array_grande e' il tuo array
            
    foreach($subarr as $k=>$v){
                    
    $newarr[$k] .= $array_grande[$sk][$k].' ';
            }

    potrebbe dare qualche warning su variabili non inizializzate, quindi dovresti gestire le varie casistiche.

  3. #3
    grazie mille bubi1, il ".=" sono veramente fuso ora è ok!


    codice:
    $array_nuovo=array();//i valori verranno copiati in un nuovo array
    foreach($PUNTEGGI_PILOTI_TOT as $sk=>$subarr){//array_grande e' il tuo array
            foreach($subarr as $k=>$v){
                    $array_nuovo[$k] .= $PUNTEGGI_PILOTI_TOT[$sk][$k].' ';
            }
    }
    print_r($array_nuovo);
    
    #ottengo
    
    Array
    (
        [Valentino ROSSI] => 25 20 16 
        [Jorge LORENZO] => 20 25 25 
        [Andrea DOVIZIOSO] => 16 16 10
    OTTIMO!

    Le assegnazioni sono già controllate in precedenza quindi non dovrei avere problemi.
    Ri-grazie

  4. #4
    Problema! Perdo l'ordinamento dei punteggi che dovrebbe essere cronologico in base alle gare
    ottengo
    HH[/CODE]
    Array
    (
    [Valentino ROSSI] => 25 20 16
    [Jorge LORENZO] => 20 25 25
    [Andrea DOVIZIOSO] => 16 16 10 #invece di 10 16 16
    [Nicky HAYDEN] => 13 13 13
    [Ben SPIES] => 11 nc nc #invece di nc nc 11
    [Randy DE PUNIET] => 10 9 7
    [Dani PEDROSA] => 9 11 20
    [Colin EDWARDS] => 8 4 4
    [Loris CAPIROSSI] => 7 nc nc
    [Hiroshi AOYAMA] => 6 5 2
    [Marco SIMONCELLI] => 5 6 5
    [Hector BARBERA] => 4 8 3
    [Marco MELANDRI] => 3 10 8
    [Alvaro BAUTISTA] => nc 6 6
    [Aleix ESPARGARO] => nc 7 1
    [Casey STONER] => nc nc 11
    [Mika KALLIO] => nc 3 9
    )
    [CODE]

    Qualche suggerimento?

  5. #5
    Trovato! Errore mio vaevo lasciato un

    rsort($PUNTEGGI_PILOTI_TOT);

    Era un esperimento che non avevo commentato.
    Tutto ok
    Grazie

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.