Heim  >  Artikel  >  Backend-Entwicklung  >  php 如何将数组的每一元素作为可变参数函数的实参传入?

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

PHP中文网
PHP中文网Original
2017-03-22 16:25:162952Durchsuche

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

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn