redis做一个队列,为什么出队列是会少显示一个元素?

$redis = new redis();

3 $redis->connect('127.0.0.1',6379);
4 $arr= array('h','e','l','l','o','w','o','r','l','d');
5 foreach($arr as $k =>$val){ //入队
6 $redis->rpush('list',$val);
7 }

6 while(true){ //出对
7 $get = $redis->lpop('list');
9 if($get)
10 {
11 echo '出队列--'.$get;
12 echo '';
13 }else{
14 echo '出队完成';
15 return false;
16 }
17
18 }

1) "e"

2) "l"

3) "l"

4) "o"

5) "w"

6) "o"

7) "r"

8) "l"

9) "d"

少了一个h

阅读 2.4k
1 个回答
    <?php
    $redis = new \redis();
    $redis->connect('127.0.0.1', 6379);
    $arr = array('h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd');
    foreach ($arr as $k => $val) { //入队
        $redis->rpush('list', $val);
    }
    echo "队列总长度:".$redis->lLen('list');
    echo "<br/>";
    
    while (true) { //出对
        $get = $redis->lpop('list');
        if ($get) {
            echo '出队列--' . $get;
            echo '<br/>';
        } else {
            echo '出队完成';
            return false;
        }
    
    }
    这是你的代码,没有呀
    
队列总长度:10
出队列--h
出队列--e
出队列--l
出队列--l
出队列--o
出队列--w
出队列--o
出队列--r
出队列--l
出队列--d
出队完成
    
    
    
    
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题