phpredis:BITOP + php implode - 不工作

时间:2018-04-23 14:14:53

标签: php redis implode phpredis

我有一个数组

$array = array("dresses","suits");

当我尝试使用phpredis制作BITOP时

$value = implode(",",$array);
$redis->bitOp('AND','color',$value);
echo $redis->bitcount('color');

我得到0.还试过

$value = "'".implode("','",$array)."'";

没有结果。但是当我做的时候

$redis->bitOp('AND','color','dresses','suits');
echo $redis->bitcount('color');
一切都很好。它给我30分

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可以这样做:

foreach ($array as $item) {
    $redis->bitOp('AND', 'color', 'color', $item);
}

想法是在每个位图和先前的结果(存储为颜色)之间进行按位运算。
这就是为什么 color 使用两次的原因,第一次是 return_key 参数,第二次是 bitmap_key