真实开发遇到问题:
如何将数组每一元素作为可变参数函数的实参传入?
从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)!
相关文章:
php可变参数
JS与PHP向函数传递可变参数的区别实例代码
php可变参数实现