Rinominare l'indice di un array

April 27th 2010 by Paolo Bindi in: Php | Tags: Php

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.

Nel caso che riscontrate qualche errore o se volete contattarmi per qualche consiglio o suggerimento, utilizzate la form della sezione contatti