array_unique — 移除数组中重复的值,但是为什么要加个(array)
$id = array_unique((array)$ids);
原代码
public function doSetStatus($model, $ids, $status = 1)
{
$id = array_unique((array)$ids);
$rs = M($model)->where(array('id' => array('in', $id)))->save(array('status' => $status));
if ($rs === false) {
$this->error('设置失败。');
}
$this->success('设置成功', $_SERVER['HTTP_REFERER']);
}
这是一种容错的写法,如果ids不是数组类型的话,array_unique会报错,但是前面加了(array)之后,不管传进来的是什么类型的都给他转换成array,就不会出错了!
总之就是,写函数的时候不要相信参数的传递者!