我有两个这样的功能:
function MysqL_safe_query($format) { $args = array_slice(func_get_args(),1); $args = array_map('MysqL_safe_string',$args); $query = vsprintf($format,$args); $result = MysqL_query($query); if($result === false) echo '<div class="MysqL-error">',MysqL_error(),'<br/>',$query,'</div>'; return $result; } function MysqL_row_exists() { $result = MysqL_safe_query(func_get_args()); return MysqL_num_rows($result) > 0; }
问题是第二个函数将不起作用,因为它将args作为数组传递给第一个函数,当它期望它们作为不同的参数时.有没有办法解决这个问题,最好不要修改MysqL_safe_query?
如何使用:
$args = func_get_args(); call_user_func_array('MysqL_safe_query',$args);