PHP - (2008/05/21 (水) 12:45:17) の編集履歴(バックアップ)
Tips
ユーザ関数の引数を参照渡しで呼び出す
call_user_func では引数を参照渡しできない。
なので、call_user_func_arrayの第二引数へ参照を含む配列を渡す。
function bbb(&$str)
{
$str = 'bbb';
}
$str = 'aaa';
call_user_func('bbb', $str);
echo $str; // aaa : call_user_funcは参照を引数に取れない
call_user_func_array('bbb', array($str));
echo $str; // aaa : 参照の配列を渡していない
call_user_func_array('bbb', array(&$str));
echo $str; // bbb : OK
連想配列と配列を区別する
function is_assoc($array) {
return array_keys($array) !== range(0, count($array)-1);
}