arrays - PHP unreference -
lets have code:
$val = 1; $arr = array(); $arr['val'] =& $val; $val = 2; echo $arr['val'];
this print out 2, because $val passed $arr reference.
my question : if passed value array reference, there way remove reference later on, making simple copied value ? make clearer, this:
$val = 1; $arr = array(); $arr['val'] =& $val; $arr['val'] = clone $arr['val']; // or better yet: $arr = clone $arr; $val = 2; echo $arr['val'];
and should print out 1 (because array cloned, before referenced variable changed). howerver, clone not work arrays, works objects.
any ideas? have no clue how this. tried writing recursive copy function, didn't work.
you unset
index , reassign by-value instead of reference.
unset($arr['val']); $arr['val'] = $val;
Comments
Post a Comment