ホームページ  >  記事  >  バックエンド開発  >  PHPで配列の各要素を可変パラメータ関数の実パラメータとして渡すにはどうすればよいですか?

PHPで配列の各要素を可変パラメータ関数の実パラメータとして渡すにはどうすればよいですか?

PHP中文网
PHP中文网オリジナル
2017-03-22 16:25:162992ブラウズ

実際の開発で遭遇する問題: 配列の各要素を可変パラメータ関数の実パラメータとして渡すにはどうすればよいですか?

  1. MySQL から複数のデータが見つかりました。これは配列結果セットです。例: ['Zhang San','Li Si', 'foo', 'bar'] ;['张三','李四', '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');

結果セットを RedisSET 型に書き込む必要があります。;

Redis の PHP 操作クラス ライブラリは、sAdd() メソッドの使用例は次のとおりです:

使用例:

$redis->multi();
foreach(['张三','李四', 'foo', 'bar'] as $value) {
    $redis->sAdd('key1', $value);
}
$redis->exec();
sAdd() は可変パラメータ メソッドであるため、次に、問題が発生します。

上記の ['Zhang San','Li Si', 'foo', 'bar'] をこのように使用するにはどうすればよいですか? $redis->sAdd ('key1', ' Zhang San', 'Li Si', 'foo', 'bar'); を次のようにリサイクルする代わりに:

call_user_func_array
$redis->multi();foreach(['张三','李四', 'foo', 'bar'] as $key=>$value) {
$redis->sAdd('key'.$key, $value);
}$redis->exec();

返信内容:

実際の開発の問題:配列の各要素を変数パラメータ関数の実パラメータとして渡すにはどうすればよいですか?

MySQL から複数のデータが見つかりました。これは配列結果セットです。例: ['Zhang San','Li Si', 'foo', 'bar']; 🎜🎜🎜結果セットを RedisSET 型に書き込む必要があります。🎜🎜🎜Redis の PHP 操作クラス ライブラリは、sAdd() メソッドの使用例は次のとおりです: 🎜🎜使用例: 🎜rrreee🎜 sAdd() は可変パラメータ メソッドであるため、次に疑問が生じます: 🎜上記の ['Zhang San','Li Si', 'foo', 'bar'] を次のように使用するにはどうすればよいですか? $redis->sAdd( 'key1' , 'Zhang Three', '李思', 'foo', 'bar'); を次のようにループ内で使用する代わりに: 🎜rrreeerrreee🎜 上記は、PHP が各要素を渡す方法です。変数パラメータ関数の実パラメータとして配列を入力しますか?関連コンテンツの詳細については、PHP 中国語 Web サイト (www.php.cn) に注目してください。 🎜🎜関連記事: 🎜🎜🎜phpの変数パラメータ🎜🎜🎜🎜関数に変数パラメータを渡す際のJSとPHPの違い コード例🎜🎜🎜🎜phpの変数パラメータの実装🎜🎜
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。