paolo@bimodesign.com | +34 608 61 64 10

Framework

        

Rinominare l'indice di un array

Come anticipato nella prefazione, puo' capitare di avere un array, magari restituitoci da una classe che non possiamo modificare, che presenti gli indici numerici, mentre a noi servono descrittivi.

Faccio un esempio pratico.
Se ho questo array bidimensionale, che chiameremo aConNumero

Array
(
    [0] => Array
        (
            [1] => Paolo
            [2] => Bindi
            [3] => Via del corso
            [4] => Roma
            [5] => Roma
            [6] => Italia
            [7] => 061234567
            [8] => 3351234567
            [9] => paolo@it.it
         )

    [1] => Array
        (
            [1] => Mario
            [2] => Rossi
            [3] => Piazza Venezia
            [4] => Milano
            [5] => Roma
            [6] => Italia
            [7] => 061234567
            [8] => 3351234567
            [9] => mario@it.it
         )

    [2] => Array
        (
            [1] => Roberto
            [2] => Bianchi
            [3] => Largo dei Caduti
            [4] => Montepulciano
            [5] => Siena
            [6] => Italia
            [7] => 061234567
            [8] => 3351234567
            [9] => roberto@it.it
         )
)

e ho bisogno che si presenti invece in questo modo

Array
(
    [0] => Array
        (
            [Nome] => Paolo
            [Cognome] => Bindi
            [Indirizzo] => Via del corso
            [Citta] => Roma
            [Provincia] => Roma
            [Nazione] => Italia
            [Fisso] => 061234567
            [Cellulare] => 3351234567
            [Email] => paolo@it.it
         )

    [1] => Array
        (
            [Nome] => Mario
            [Cognome] => Rossi
            [Indirizzo] => Piazza Venezia
            [Citta] => Milano
            [Provincia] => Roma
            [Nazione] => Italia
            [Fisso] => 061234567
            [Cellulare] => 3351234567
            [Email] => mario@it.it
         )

    [2] => Array
        (
            [Nome] => Roberto
            [Cognome] => Bianchi
            [Indirizzo] => Largo dei Caduti
            [Citta] => Montepulciano
            [Provincia] => Siena
            [Nazione] => Italia
            [Fisso] => 061234567
            [Cellulare] => 3351234567
            [Email] => roberto@it.it
         )
)

dove alla posizione 1 sia scritto "Nome", alla 2 "Cognome", etc... l'istruzione, ovvero il ciclo che dovro' utilizzare sara' del tipo.
Chiamamiamo il secondo array aConDescrizione

foreach ($aConNumero as $key => $value)
{
	$aConDescrizione[$key] = array('NOME'      => $value['1'],
				       'COGNOME'   => $value['2'],
				       'INDIRIZZO' => $value['3'],
				       'CITTA'     => $value['4'],
    				       'PROVINCIA' => $value['5'],
    				       'NAZIONE'   => $value['6'],
    				       'FISSO'     => $value['7'],
    				       'CELLULARE' => $value['8'],
    	                               'EMAIL'     => $value['9']);
}  

Ovvero per ogni key del all'array principale, sostituisco in ogni array di secondo livello, i valori 1,2,3 etc con le relative descrizioni.

Chiaramente puo' essere eseguito anche il contrario.