Visualizzazione dei risultati da 1 a 9 su 9

Discussione: shallow copy

  1. #1

    shallow copy

    Buon giorno.
    Stavo provando questo codice ma non riesco a capire perché se alla fine del codice stampo:

    echo $names[1];

    ottengo benny non andrea come dovrebbe essere.

    $names=array("fred","benny","pippo");

    function & find_one($n){

    return $names[$n];

    }

    $person =& find_one(1);//benny

    $person="andrea";//cambia $names[1]


    echo $names[1];//ottengo benny

    Il codice é tratto da :
    "programmare in php di o'reilly"pg74
    <-------------------------------->
    Se non avessimo difetti, non ci farebbe tanto piacere trovarne negli altri.
    <-------------------------------->
    Andate sempre contro il vento...Solo così imparerete a volare...

  2. #2
    Codice PHP:
    function & find_one($n){

    return 
    $names[$n];


    devi assegnare la differenza all'array oO

    tipo mettere
    Codice PHP:
    echo $names[1];
    function & 
    find_one($n,$name){
    return 
    $names[$n];
    $names[$n] = $name
    }
    $var "andrea";
    $person =& find_one(1,$var);
    echo 
    $names[1]; 

  3. #3
    Innanzi tutto grazie per la risposta.

    Il codice che ho postato é stato tratto direttamente dal libro,qiundi presuppongo che l'impostazione sia giusta.Comunque ho provato il codice da te postato ma il risultato non cambia.
    <-------------------------------->
    Se non avessimo difetti, non ci farebbe tanto piacere trovarne negli altri.
    <-------------------------------->
    Andate sempre contro il vento...Solo così imparerete a volare...

  4. #4
    Non ti preoccupare ^_^
    Codice PHP:
    echo $names[1];
    function & 
    find_one($n,$name){
    $names[$n] = $name
    }
    $var "andrea";
    $person =& find_one(1,$var);
    echo 
    $names[1]; 
    prova così (togliamo il return)

  5. #5
    ottengo questo:

    Notice: Only variable references should be returned by reference in C:\www\........on line 26
    <-------------------------------->
    Se non avessimo difetti, non ci farebbe tanto piacere trovarne negli altri.
    <-------------------------------->
    Andate sempre contro il vento...Solo così imparerete a volare...

  6. #6
    che cosa c'è nella linea 26? oO ad ogni modo ho notato un mio errore

    $names[$n] = $name

    mettici ; al fondo della riga

  7. #7
    Codice PHP:
    <?php

    function &GetArrayElementReference(&$Array$Index)
    {
        return 
    $Array[$Index];
    }

    $array = array('Franco''Ciccio''Caterina''Rosaria''Giullannu');

    $reference = &GetArrayElementReference($array1);
    $reference 'Ciccinella';

    print_r($array);

    ?>
    questo codice funziona su PHP5, però non so sul 4

    ---

    Originariamente inviato da goikiu
    Non ti preoccupare ^_^
    Codice PHP:
    echo $names[1];
    function & 
    find_one($n,$name){
    $names[$n] = $name
    }
    $var "andrea";
    $person =& find_one(1,$var);
    echo 
    $names[1]; 
    prova così (togliamo il return)
    goikiu il tuo codice ha un problema Alla funzione find_one non arriva nessun array $names e se non vi da errore vuol dire che lavorate con i notice spenti, cosa che vi sconsiglio di fare perché aiutano tantissimo a risolvere queste sviste

  8. #8
    L'ultimo codice funziona perfettamente.

    Comunque é demoralizzante pensare che un codice estratto da un libro possa essere errato .

    Grazie per l'aiuto.
    <-------------------------------->
    Se non avessimo difetti, non ci farebbe tanto piacere trovarne negli altri.
    <-------------------------------->
    Andate sempre contro il vento...Solo così imparerete a volare...

  9. #9
    Originariamente inviato da fabione_htm
    L'ultimo codice funziona perfettamente.

    Comunque é demoralizzante pensare che un codice estratto da un libro possa essere errato .

    Grazie per l'aiuto.
    il codice dei libri, di solito, fa pena

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.