I have a function which returns a referenced value by default – however, the function should return false
if something went wrong during processing things in the function.
The function is declared as follows.
function &find($idx, $pref_array = false) {
if ($pref_array === false)
$pref_array = &$this->preferences;
foreach ($pref_array as $key => $data) {
if ($key == $idx) {
return $pref_array[$idx];
}
else if (is_array($data)) {
$res = &$this->find($idx, &$pref_array[$key]);
if ($res !== false)
return $res;
}
}
return false;
}
PHP gives me a notice that "Only variable references should be returned by reference". Do I really need to put $result = false;
in my code and return $result
? That would be somehow ridiculous.
Thanks in advance for your help.