Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Aggiungere valori ad un array

    Ciao,
    ho un array cosi composto:

    Codice PHP:
    $array['key1'] = 'val1';
    $array['key2'] = 'val2';
    $array['key3'] = 'val3'
    in una nuova pagina dovrei aggiungere altre chiavi e valori all'array.

    ora faccio cosi.
    Codice PHP:
    $array['key4'] = 'val4';
    $array['key5'] = 'val5';
    $array['key6'] = 'val6'
    Ma dato che i valori da aggiungere sono tanti, vorrei scrivere una cosa più snella e leggera anche alla vista, tipo questa:

    Codice PHP:
    $array = array 
    (
        
    'key4' => 'val4',
        
    'key5' => 'val5',
        
    'key6' => 'val6'
    ); 
    Solo che cosi sovrascrive l'array.

    Qual'è la funzione, se c'è per aggiungere le nuove voci al mio array?
    Ciao!

  2. #2

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    si vabbè!
    array_push funziona se uso le chiavi numeriche... io devo inserire chiavi associative.

    In pratica mi serve per definire un array con le definizioni per la lingua di un sito.

    esempio:

    $language['ERROR'] = 'Errore';
    e cosi via...

    per evitare di scrivere 1000 volte la stessa riga userei la definizione di array una sola volta, ma dovendolo fare in più file l'ultima definizione sovrascriverebbe le precedenti... o no?

    esempio:

    $array = array('chiave'=>'valore');
    $array = array('altrachiave'=>'altrovalore');

    le prime chiavi vengono sovrascritte dalle seconde, c'è un modo per evitarlo?
    Ciao!

  4. #4
    Codice PHP:
    $array['key1'] = 'val1';
    $array['key2'] = 'val2';
    $array['key3'] = 'val3';

    $array1['key4'] = 'val4';
    $array1['key5'] = 'val5';
    $array1['key6'] = 'val6';

    echo 
    "<pre>";
    print_r($array);
    print_r($array1);

    foreach(
    $array1 as $key => $value) {
       
    $array[$key] = $value;
    }
     
    print_r($array); 

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Grazie Piero...

    ...mi sa che allora non c'è un modo per scrivere il mio codice senza usare un secondo array o scrivere le voci singolarmente...

    Cmq al posto di foreach non conviene usare array_merge() ?
    Ciao!

  6. #6
    puoi fare in tanti modi. Per esempio:

    $array2 = $array + $array1;

    tieni presente che array_merge rinumera gli indici numerici.

    se hai un solo (o piu') valore da aggiungere e non vuoi usare gli array puoi fare:

    $array['key4'] = 'val4';

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Si lo so...

    diciamo che per non appesantire il codice scrivendo 200 volte la riga

    $array['chiave'] = 'Valore';

    ma soltanto una volta

    $array = array (
    'chiave' => 'valore',
    );
    e via dentro tutti i 200 valori...

    mi chiedevo se esiste un modo per farlo.
    Ho capito che non c'è se non usare 2 diversi array, e non ne vale la pena...

    Grazie comunque.
    Ciao!

  8. #8
    quello che fai e' la costruzione di un array partendo da zero.

    Ora dipende da dove sono i 200 valori 200. Escludendo miracoli, poco consoni al software, qualcuno o qualcosa dovra' ben dire di che fare con questi 200 valori 200.

    Direi quindi che tutto dipende da dove e come recuperi questi 200 valori 200. Poi di soluzioni ne puoi trovare fin che ti pare. Anyway direi che la costruzione di due array (uno base l'altro complementare) sia la soluzione migliore. Dovrai solo aggiungere l'array complementare all'array base.

    $array_finale = $array_base + $array_complementare

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    I dati vanno caricati a mano.
    Si tratta dei file di lingua di un sito multilingua.
    Ciao!

  10. #10
    Originariamente inviato da fmortara
    I dati vanno caricati a mano.
    Si tratta dei file di lingua di un sito multilingua.
    Cioe' vanno scritti con un pennarello a punta fine direttamente nell'HD????

    Cosa significa "dati caricati a mano"? che utilizzi una form?

    Se si, allora lo hai gia' un array con i vari contenuti di complemento. Basta trasferirli nell'array base

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.