Rumah > 类库下载 > PHP类库 > teks badan

set集合类型

高洛峰
Lepaskan: 2016-10-20 14:31:46
asal
5364 orang telah melayarinya

3、set集合类型

简介

set集合和list列表十分的相似,都可以存储多个字符串。但是list列表可以存储重复值,而set集合中不可重复。

集合结构

其中的user为键名,其可以包含多个 不重复 的元素,各不相同

[
    "user":[
        "yanying1",
        "yanying2",
        "yanying3"
    ]
]
Salin selepas log masuk

操作方法

1.png

演示(命令行 + PHP演示)

命令行:

添加一个元素到集合,返回 1代表插入成功;0元素代表已经存在

sadd set-key item // 返回 1
Salin selepas log masuk

同理,再添加元素到集合

sadd set-key item2 // 返回1,表示插入成功,集合内没有该元,
sadd set-key item3 // 返回
1sadd set-key item // 返回0,表示插入失败,集合内已经存在
Salin selepas log masuk

添加完了之后,我们来获取集合内全部的元素,成功返回 全部元素

smembers set-key // 得到结果:'item','item2','item3',由于元素不能重复,所以最后一个item不存在集合中
Salin selepas log masuk

下面介绍这个集合的重要功能,使用sismember命令 检查元素是否在集合中 , 存在返回1,不存在返回0

sismember set-key item4 // 由于item4不在集合中,所以返回 0
sismember set-key item // item元素是存在于集合中的,返回1;同理item2,item3也是会返回1
Salin selepas log masuk

下面我们尝试删除一个元素,如果删除成功过后,会返回 被删除元素的个数

srem set-key item //删除成功,返回删除个数:1
srem set-key item // item之前已经被删除,所以删除失败,返回个数0。这里不是表示true or false
Salin selepas log masuk

我们再次检查所有元素,发现只剩下item2,item3

smembers set-key // 返回'item2','item3'
Salin selepas log masuk

PHP版本演示

第一步,链接redis数据库

$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
Salin selepas log masuk

我们先插入一个元素item到set-key集合。1代表插入成功;0元素代表已经存在

$redis->sadd('set-key','item'); // 添加成功,返回1
Salin selepas log masuk

接下来,我们再次添加一次item到set-key集合,发现已经存在,并且 返回了0

$redis->sadd('set-key','item'); // 集合中已经存在item,添加失败,返回0
Salin selepas log masuk

为了下面演示,我们在添加几个元素

$redis->sadd('set-key','item2');
$redis->sadd('set-key','item3');
Salin selepas log masuk

现在集合中有3个元素了,我们使用smembers命令全部取出

$r = $redis->smembers('set-key');
var_dump($r);
Salin selepas log masuk

打印过后,我们获取了一个包含item,item2,item3的数组

array (size=3)
  0 => string 'item' (length=4)
  1 => string 'item2' (length=5)
  2 => string 'item3' (length=5)
Salin selepas log masuk

下面我们使用sismember命令来检查一个元素是否存在于集合中,这个在 检查如昵称是否已经存在 时候非常有用

$redis->sismember('set-key','item'); //该元素存在集合中,则为 boolean true,反之boolean false
Salin selepas log masuk

最后,还是删除一个元素。假设是item,第一次删除,该元素存在于集合,则返回 被删除的个数1

$redis->srem('set-key','item'); // int 1
Salin selepas log masuk

这时,我们再次执行删除命令,由于元素已经不存在集合,所以,返回 被删除0个

$redis->srem('set-key','item'); // int 0
Salin selepas log masuk


Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan