|
Posted by Umberto Salsi on 09/16/05 13:15
Ho questa funzione che prende due array: aggiorna il primo (aggiungendo,
togliendo o modificando elementi) e poi aggiorna anche il secondo, ma solo
se e' un array diverso dal primo:
function Aggiorna(&$a, &$b)
{
if( $a e' lo stesso di $b ){
aggiorna solo $a
} else {
aggiorna $a
aggiorna $b
}
}
Ad esempio,
$a = array(1, 2, 3);
$b = array(1, 2, 3);
$c = &$a;
Aggiorna($a, $b); # aggiorna $a e $b
Aggiorna($a, $c); # aggiorna solo $a, dato che $c e' la stessa cosa
Problema: come faccio a sapere se due array sono lo stesso array? Cioe',
in altre parole, come faccio a sapere se le modifiche all'uno si
riflettono anche all'altro?
Non e' facile come sembra. Notare che
$a == $b
e
$a === $b
danno entrambi TRUE sebbene gli array siano distinti.
Ciao,
___
/_|_\ Umberto Salsi
\/_\/ www.icosaedro.it
[Back to original message]
|