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

    rinominare chicavi array

    ho un array iniziale fatto così:

    Array
    (
    [des_com] => ACQUANEGRA CREMONESE
    [codicebelfiore] => A039
    )
    Array
    (
    [des_com] => ACQUAVIVA COLLECROCE
    [codicebelfiore] => A050
    )

    poi ho un secondo array fatto coì:

    array('descrizione_comune'=>'des_com','codicebelfi ore'=>'codbelf')

    vorrey riuscire a rinominare le chiavi dell'aqrray iniziale con le chiavi che hanno lo stesso valore del secondo, per intenderci vorrei avere un array finale fatto così:

    Array
    (
    [descrizione_comune] => ACQUANEGRA CREMONESE
    [codbelf] => A039
    )
    Array
    (
    [descrizione_comune] => ACQUAVIVA COLLECROCE
    [codbelf] => A050
    )

    ho qualche idea ma mi sembra un pò contorta, esiste sicuramente qualcosa di più lineare o magari qualche funzione a me sconosciuta per fare ciò

    qualche idea?

    buona giornata a tutti

  2. #2

    Re: rinominare chicavi array

    Originariamente inviato da mansportivo
    ho un array iniziale fatto così:

    Array
    (
    [des_com] => ACQUANEGRA CREMONESE
    [codicebelfiore] => A039
    )
    Array
    (
    [des_com] => ACQUAVIVA COLLECROCE
    [codicebelfiore] => A050
    )

    poi ho un secondo array fatto coì:

    array('descrizione_comune'=>'des_com','codicebelfi ore'=>'codbelf')

    vorrey riuscire a rinominare le chiavi dell'aqrray iniziale con le chiavi che hanno lo stesso valore del secondo, per intenderci vorrei avere un array finale fatto così:

    Array
    (
    [descrizione_comune] => ACQUANEGRA CREMONESE
    [codbelf] => A039
    )
    Array
    (
    [descrizione_comune] => ACQUAVIVA COLLECROCE
    [codbelf] => A050
    )

    ho qualche idea ma mi sembra un pò contorta, esiste sicuramente qualcosa di più lineare o magari qualche funzione a me sconosciuta per fare ciò

    qualche idea?

    buona giornata a tutti
    proprio nulla

  3. #3
    Non riesco a capire.... il valore su cui fare la prova di uguaglianza sono le chiavi dei due array?
    Oppure i valori?
    Oppure dici quando la chiave nel primo array è uguale al valore del secondo..

    Mi confondo...

  4. #4
    Originariamente inviato da pictor
    Non riesco a capire.... il valore su cui fare la prova di uguaglianza sono le chiavi dei due array?
    Oppure i valori?
    Oppure dici quando la chiave nel primo array è uguale al valore del secondo..

    Mi confondo...
    hai ragione, ho sbagliato l'esempio, queto è quello giusto:

    Array
    (
    [des_com] => ACQUANEGRA CREMONESE
    [codicebelfiore] => A039
    )
    Array
    (
    [des_com] => ACQUAVIVA COLLECROCE
    [codicebelfiore] => A050
    )

    poi ho un secondo array fatto coì:

    array('des_com'='descrizione_comune','codicebelfio re'=>'codbelf')

    in pratica devo sostituire le chiavi

    la funzione da me elaborata,anche se mi pare un pò contorta, è questa:

    function crea_array_con_nuove_chiavi($array_old,$array_nuov e_chiavi){
    $array_nuove_chiavi=!isset($array_nuove_chiavi)?ar ray():$array_nuove_chiavi;
    foreach ($array_old as $key=>$value) {
    if (array_key_exists($key, $array_nuove_chiavi)) {
    @$array_nuovo[$array_nuove_chiavi[$key]]=$value;
    }
    else{
    @$array_nuovo[$key]=$value;
    }
    }
    return $array_nuovo;
    }

    magari con 2 righe si può fare e io non riesco....

    ciao e grazie dell'interessamento

  5. #5
    Non mi sono messo a controllarti il codice, ma se ti funziona non vedo perchè perdere tempo a cercare una soluzione migliore.

    Più che altro visto che non credo ci sia chissà cosa di più elegante. Il numero di istruzioni più o meno è quello.

    Ai virtuosi del codice la sentenza finale

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.