真实开发遇到问题: 如何将数组每一元素作为可变参数函数的实参传入?
从MySQL查到多条数据,为一个数组结果集,eg:['张三','李四', 'foo', 'bar']
;
需要将结果集写入 Redis
的 SET
类型;
Redis 的 PHP 操作类库提供 sAdd()
方法,使用例子如下:
使用例子:
$redis->sAdd('key1' , 'member1'); /* 1, 'key1' => {'member1'} */ $redis->sAdd('key1' , 'member2', 'member3'); /* 2, 'key1' => {'member1', 'member2', 'member3'}*/ $redis->sAdd('key1' , 'member2'); /* 0, 'key1' => {'member1', 'member2', 'member3'}*/
因为sAdd()
是一个可变参数方法,那么,问题来了:
如何才能将上面的 ['张三','李四', 'foo', 'bar']
这样使用 $redis->sAdd('key1' , '张三', '李四', 'foo', 'bar');
,而并非如下循环使用:
$redis->multi(); foreach(['张三','李四', 'foo', 'bar'] as $value) { $redis->sAdd('key1', $value); } $redis->exec();
真实开发遇到问题: 如何将数组每一元素作为可变参数函数的实参传入?
从MySQL查到多条数据,为一个数组结果集,eg:['张三','李四', 'foo', 'bar']
;
需要将结果集写入 Redis
的 SET
类型;
Redis 的 PHP 操作类库提供 sAdd()
方法,使用例子如下:
使用例子:
$redis->sAdd('key1' , 'member1'); /* 1, 'key1' => {'member1'} */ $redis->sAdd('key1' , 'member2', 'member3'); /* 2, 'key1' => {'member1', 'member2', 'member3'}*/ $redis->sAdd('key1' , 'member2'); /* 0, 'key1' => {'member1', 'member2', 'member3'}*/
因为sAdd()
是一个可变参数方法,那么,问题来了:
如何才能将上面的 ['张三','李四', 'foo', 'bar']
这样使用 $redis->sAdd('key1' , '张三', '李四', 'foo', 'bar');
,而并非如下循环使用:
$redis->multi(); foreach(['张三','李四', 'foo', 'bar'] as $value) { $redis->sAdd('key1', $value); } $redis->exec();
call_user_func_array $redis->multi();foreach(['张三','李四', 'foo', 'bar'] as $key=>$value) { $redis->sAdd('key'.$key, $value); }$redis->exec();
以上就是php 如何将数组的每一元素作为可变参数函数的实参传入?的内容,更多相关内容请关注PHP中文网(www.php.cn)!
相关文章: