# phpredis 教程:有序集合
***
### 有序集合操作
~~~
<?php
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
// Redis 沒設置密碼則不需要這行代碼
// $redis->auth('opG5dGo9feYarUifaLb8AdjKcAAXArgZ');
// 添加成員
$redis->zAdd('zset', 95, '小明');
$redis->zAdd('zset', 99, '小剛');
$redis->zAdd('zset', 100, '小紅');
// 統計成員個數
echo $redis->zCard('zset') . PHP_EOL;
// 獲取某個成員的分數
$score = $redis->zScore('zset', '小明');
echo $score . PHP_EOL;
// 獲取某個成員的排名
$rank = $redis->zRank('zset', '小明'); // 從低到高排序的名次
$revRank = $redis->zRevRank('zset', '小明'); // 從高到低排序的名次
echo $rank . PHP_EOL;
echo $revRank . PHP_EOL;
// 給指定成員增加分數
$redis->zIncrBy('zset', 1, '小明'); // 給小明加一分
// 返回指定排名范圍的成員
$range = $redis->zRange('zset', 0, 9, true); // 返回分數從低到高排序的前10名及分數
$revRange = $redis-> zRevRange('zset', 0, 9, true); // 返回分數從高到低排序的前10名及分數
var_dump($range);
var_dump($revRange);
// 刪除成員
$redis->zRem('zet', '小明');
// 返回指定分數范圍的成員
$rangeByScore = $redis->zRangeByScore('zet', 98, 100); // 返回指定分數范圍內從低到高排序的成員
$revRangeByScore = $redis->zRevRangeByScore('zet', 98, 100); // 返回指定分數范圍內從高到低排序的成員
var_dump($rangeByScore);
var_dump($revRangeByScore);
~~~