看别人的PHP代码有一点不明白。。

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,就不会出错了!

brean

赞同来自:

强制转换接收参数的数据类型。

可歌可泣

赞同来自:

无论接收的$ids是否为数组,都把它转成数组的意思。

要回复问题请先登录注册