欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php 如何将数组的每一元素作为可变参数函数的实参传入?

程序员文章站 2022-05-05 19:55:14
...
真实开发遇到问题: 如何将数组每一元素作为可变参数函数的实参传入?
  1. 从MySQL查到多条数据,为一个数组结果集,eg:['张三','李四', 'foo', 'bar'];

  2. 需要将结果集写入 RedisSET 类型;

  3. 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();

回复内容:

真实开发遇到问题: 如何将数组每一元素作为可变参数函数的实参传入?

  1. 从MySQL查到多条数据,为一个数组结果集,eg:['张三','李四', 'foo', 'bar'];

  2. 需要将结果集写入 RedisSET 类型;

  3. 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可变参数实现