Bei der realen Entwicklung aufgetretene Probleme: Wie übergebe ich jedes Element des Arrays als tatsächlichen Parameter der variablen Parameterfunktion?
Es wurden mehrere Datenelemente von MySQL gefunden, bei dem es sich um eine Array-Ergebnismenge handelt, z. B.: ['张三','李四', 'foo', 'bar']
;
Die Ergebnismenge muss in den Typ Redis
SET
bereit wie folgt: 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'}*/
eine Methode mit variablen Parametern ist, lautet die Frage: sAdd()
Wie kann das Obige
so verwendet werden['张三','李四', 'foo', 'bar']
, anstatt wie folgt in einer Schleife verwendet zu werden: $redis->sAdd('key1' , '张三', '李四', 'foo', 'bar');
$redis->multi(); foreach(['张三','李四', 'foo', 'bar'] as $value) { $redis->sAdd('key1', $value); } $redis->exec();
Wie man die einzelnen Elemente übergibt Element des Arrays als Aktualparameter der variablen Parameterfunktion?
;['张三','李四', 'foo', 'bar']
-Typ festlegen, der Redis
SET
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'}*/
Wie kann das obige sAdd()
verwendet werden? so statt
Verwenden Sie die folgende Schleife: ['张三','李四', '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();
Verwandte Artikel:
php-VariablenparameterBeispielcode für den Unterschied zwischen JS und PHP bei der Übergabe variabler Parameter an FunktionenPHP-Variablenparameter-Implementierung