【问题标题】:Why I'm getting the error: "Parameter 1 to Credis_Client::scan() expected to be a reference"?为什么我收到错误消息:“Credis_Client::scan() 的参数 1 应为参考”?
【发布时间】:2020-01-01 07:27:00
【问题描述】:

我正在尝试调用这个类函数:

public function scan(&$Iterator, $pattern = null, $count = null)
{
    return $this->__call('scan', array(&$Iterator, $pattern, $count));
}

来自我的班级:

$itScan = NULL;
while($arr_keys = $this->redisClient->scan($itScan, '', 10000)) {
    foreach($arr_keys as $str_key) {
        echo "Here is a key: $str_key\n";
    }
}

我知道这与 & 指针有关,但我不知道在我的班级里该给谁打电话。

谢谢!

【问题讨论】:

    标签: class pointers


    【解决方案1】:

    这是迭代结果的正确方法:

    $i = null;
    $allResults = [];
    
    do {
        $someResults = $redis->scan($i, "*", 10000);
        if (!empty($someResults)) {
            $allKeys = array_merge($allKeys, $someResults);
        }
    }
    while ($i);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-14
      • 1970-01-01
      • 1970-01-01
      • 2015-11-03
      • 2015-01-25
      • 1970-01-01
      • 2018-11-16
      • 2022-11-28
      相关资源
      最近更新 更多