避免使用 eval,或者迭代地调用 2 个
效果大概像这样:
function unionSets($redis, $keys)
{
if (!is_array($keys)) {
return [];
}
$count = count($keys);
$ret = [];
switch ($count)
{
case 2:
$ret = $redis->sUnion($keys[0], $keys[1]);
break;
case 3:
$ret = $redis->sUnion($keys[0], $keys[1], $keys[2]);
break;
case 4:
$ret = $redis->sUnion($keys[0], $keys[1], $keys[2], $keys[3]);
break;
case 5:
$ret = $redis->sUnion($keys[0], $keys[1], $keys[2], $keys[3], $keys[4]);
break;
case 6:
$ret = $redis->sUnion($keys[0], $keys[1], $keys[2], $keys[3], $keys[4], $keys[5]);
break;
case 7:
$ret = $redis->sUnion($keys[0], $keys[1], $keys[2], $keys[3], $keys[4], $keys[5], $keys[6]);
break;
case 8:
$ret = $redis->sUnion($keys[0], $keys[1], $keys[2], $keys[3], $keys[4], $keys[5], $keys[6], $keys[7]);
break;
case 9:
$ret = $redis->sUnion($keys[0], $keys[1], $keys[2], $keys[3], $keys[4], $keys[5], $keys[6], $keys[8], $keys[8]);
break;
default:
$ret = $redis->sUnion($keys[0], $keys[1]);
break;
}
return $ret;
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.