Visualizzazione risultati 1 fino 11 di 11

Discussione: Copiare array bidimensionale

  1. #1
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito Copiare array bidimensionale

    Ho un array bidimensionale $a e voglio crearne una copia $b in modo tale da poter modificare $b mantenendo invariato $a.
    Avevo pensato di copiare ciascun elemento di $a in $b ma non c'è un metodo più efficiente? Ad esempio avevo sentito parlare dei metodi clone...

  2. #2
    Guest

    Predefinito

    $b = $a;



    ciao!

  3. #3
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Perchè non usare il metodo clone?

  4. #4
    Guest

    Predefinito

    Perchè come detto da Debug copi semplicemente il contenuto di $a in $b, senza toccare la prima con la possibilità di lavorare tranquillamente sulla seconda

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da tryhere Visualizza messaggio
    Perchè non usare il metodo clone?
    Perchè non fa quello che chiedi!


    ciao!

  6. #6
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    E cosa fa?

  7. #7
    Guest

    Predefinito

    E' un metodo di classe per copiare oggetti.
    Tu devi semplicemente creare una copia di una variabile e quello è il metodo giusto. (perchè complicarsi la vita?)


    ciaoo!!

  8. #8
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    E se invece volessi mettere in $b l'array bidimensionale $a ruotato di 180 gradi?

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da tryhere Visualizza messaggio
    E se invece volessi mettere in $b l'array bidimensionale $a ruotato di 180 gradi?
    xD e che è un triangolo... penso tu intenda "invertito", "al contrario"... in questo caso:
    $b = array_reverse($a);

  10. #10
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    intendo proprio ruotato di 180 gradi...stiamo parlando di array bidimensionale.
    Esempio:
    [0][1]
    [2][3]
    ruota()
    [3][2]
    [1][0]

  11. #11
    programmazioned non è connesso Utente attivo
    Data registrazione
    25-03-2008
    Messaggi
    440

    Predefinito

    Basta rovesciare sia righe che colonne.

    Codice PHP:

    function ruota ( $array )
    {

    $array = array_reverse( $array );

    foreach (
    $array as &$sottoarray )

    $sottoarray = array_reverse ( $sottoarray );

    return
    $array;

    }
    Codice PHP:
    print_r (

    ruota (

    array (

    array (
    0, 2 ),
    array (
    1, 3 )

    )

    )

    );
    Codice PHP:
    /* Output

    Array (

    [0] => Array (

    [0] => 3
    [1] => 1

    ),

    [1] => Array (

    [0] => 2
    [1] => 0

    )

    )

    */
    Ciao!
    Ultima modifica di programmazioned : 29-08-2009 alle ore 16.44.54

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •