Welcome to WebmasterWorld Guest from 220.127.116.11 , register , free tools , login , search , pro membership , help , library , announcements , recent posts , open posts Become a Pro Member
When can I combine or separate functions? ocon msg:4608332 4:02 pm on Sep 8, 2013 (gmt 0) I don't know if it's terrible practice or not, but I often combine multiple functions on the same line instead of assigning a variable I'm only going to use once. Normally its not a problem, but I'm getting an "Only variables should be passed by reference" error for:
$name = array_shift(array_values(array_diff($candidates, $conflicts)));
I don't get an error if I break it into two lines:
$vettedCandidates = array_values(array_diff($candidates, $conflicts));
$name = array_shift($vettedCandidates); I just don't understand what the difference is and why the first one gives me an error. To me, they would seem the same.
Readie msg:4608670 12:11 pm on Sep 10, 2013 (gmt 0)
array_shift modifies the variable you pass into it. If you look on the docs [ uk3.php.net], it's shown as
array_shift ( array &$array )
- the leading ampersand there means it's a reference rather than a typical variable. A function call cannot be a reference.