$result = @call_user_func_array(array($object,$request['method']),$request['params'])
注意到这个函数没,call_user_func_array,array,点进去看参数说明,果然,$request['params']必须是数组类型,不是数组死活不认,更可恨的是,thinkphp没有对这个参数进行严格的校验,于是都不知道怎么错的.
知道了这个原因就好办了,前面加上校验.
if (is_array($request['params'])) { $request['params'] = array_values($request['params']); } else { $request['params'] = array($request['params']); }
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。