Visualizzazione risultati 1 fino 2 di 2

Discussione: Modifica di un array da parte di un elemento

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

    Predefinito Modifica di un array da parte di un elemento

    Codice:
    $a=array();
    for($i=0;i<10;i++)
    $a[$i]=new oggetto($i);
    $a[0]->clona(5,$a);
    ora eseguo il codice:
    Codice:
    $a[0]->clona(5,$a);
    for($i=0;i<10;i++)
    echo $a[$i]->x;
    il metodo clona() della classe oggetto è definito così:
    Codice:
    public function clona ($i,&$a) {
    $a[$i]=new oggetto($this->x);
    }
    ma l'array non viene modificato...come mai?

  2. #2
    L'avatar di AlexKidd
    AlexKidd non è connesso Altervistiano Junior
    Data registrazione
    09-02-2007
    Messaggi
    516

    Predefinito

    Si che funziona

    supponendo che la classe sia definita come la definisco io:
    Codice PHP:

    <?
    class oggetto{
    public
    $x;
    function
    __construct($x){ $this->x=$x;}
    public function
    clona ($i,&$a) {
    $a[$i]=new oggetto($this->x);
    }
    }

    $a=array();
    for(
    $i=0;$i<10;$i++)
    $a[$i]=new oggetto($i);


    $a[0]->clona(5,$a);

    for(
    $i=0;$i<10;$i++)
    echo
    $a[$i]->x;
    ?>
    a me stampa correttamente

    0123406789

    si evince che sostituisce il 6° valore con quello contenuto dall'oggetto nella posizione 0

Regole di scrittura

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