dptr1988 Posted July 6, 2006 Share Posted July 6, 2006 I'm wanting to pass an array by reference to a function. But I get a warning.Here is the warning:[code][06-Jul-2006 11:13:30] PHP Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of copy_array(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in C:\FTB\dptr1988.mooo.com\htdocs\walk.php on line 137[/code]Here is the function declaration:[code]<?phpfunction copy_array($source, &$dest){ foreach($source as $key => $value) { $dest[$key] = $value; }}?>[/code]Here is how I call the function:[code]<?phpcopy_array($newstats, &$stats);?>[/code]I've read the manual and my code seems correct but I still get that warning. Is my function definition wrong?Thanks Link to comment https://forums.phpfreaks.com/topic/13877-trouble-with-call-time-pass-by-reference/ Share on other sites More sharing options...
Barand Posted July 6, 2006 Share Posted July 6, 2006 Call like this, withoutthe "&"[code]copy_array($newstats, $stats);[/code]However, you might find it simpler to[code]$stats = $newstats;[/code]to copy the array Link to comment https://forums.phpfreaks.com/topic/13877-trouble-with-call-time-pass-by-reference/#findComment-54074 Share on other sites More sharing options...
dptr1988 Posted July 6, 2006 Author Share Posted July 6, 2006 Thank you barand. It works now.The reason I made the copy_array() function is that $newstats only contains some of the items that $stats contains. So it's just updating some of the items in $stats rather than copying the whole arrayThanks again Link to comment https://forums.phpfreaks.com/topic/13877-trouble-with-call-time-pass-by-reference/#findComment-54138 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.