看了一下代码,主要是因为function.php中的init_hooks函数中的
$map['status'] = 1;
$map['name'] = array('IN',explode(',',$value));
$data = M('Addons')->where($map)->getField('id,name');
if($data){
$addons = array_values($data);
\Think\Hook::add($key,$addons);
}导致,$value数组中还是正常顺序,从数据库中查询出来,顺序就变了,默认是按照插件的主键排序的。