@@ -318,7 +318,11 @@ public function scan($cursor, $options = [])
318318 $ options ['count ' ] ?? 10
319319 );
320320
321- return empty ($ result ) ? $ result : [$ cursor , $ result ];
321+ if ($ result === false ) {
322+ $ result = [];
323+ }
324+
325+ return $ cursor === 0 && empty ($ result ) ? false : [$ cursor , $ result ];
322326 }
323327
324328 /**
@@ -336,7 +340,11 @@ public function zscan($key, $cursor, $options = [])
336340 $ options ['count ' ] ?? 10
337341 );
338342
339- return $ result === false ? [0 , []] : [$ cursor , $ result ];
343+ if ($ result === false ) {
344+ $ result = [];
345+ }
346+
347+ return $ cursor === 0 && empty ($ result ) ? false : [$ cursor , $ result ];
340348 }
341349
342350 /**
@@ -354,7 +362,11 @@ public function hscan($key, $cursor, $options = [])
354362 $ options ['count ' ] ?? 10
355363 );
356364
357- return $ result === false ? [0 , []] : [$ cursor , $ result ];
365+ if ($ result === false ) {
366+ $ result = [];
367+ }
368+
369+ return $ cursor === 0 && empty ($ result ) ? false : [$ cursor , $ result ];
358370 }
359371
360372 /**
@@ -372,7 +384,11 @@ public function sscan($key, $cursor, $options = [])
372384 $ options ['count ' ] ?? 10
373385 );
374386
375- return $ result === false ? [0 , []] : [$ cursor , $ result ];
387+ if ($ result === false ) {
388+ $ result = [];
389+ }
390+
391+ return $ cursor === 0 && empty ($ result ) ? false : [$ cursor , $ result ];
376392 }
377393
378394 /**
0 commit comments