mysql中set多选项类型的数据解析原理

2018-07-28  本文已影响15人  老衲灬

一、set多选项类型的应用形式

set类型通常用于存储表单中的“多选项”的值。
设定形式:
set(‘选项值1’, ‘选项值2’, ‘选项值3’, ....)
这些选项值都对应了相应的“索引值”,其索引值从1开始,并“依次翻倍”。
即这些选项的索引值分别为:1, 2, 4, 8, 16, ..... (其实就是2的n次方)
set类型最多可设定64个选项值。

应用如下:

二、原理解析

当选项数据以一个整数的形式传递过来的时候,其解析的原理如下:

解析原理代码演示如下:

$set = ["篮球","足球","冰球","排球","水球"];
$getNum = 6;
function getSet($getNum,$set){
    //将获取的数值转化为二进制,并进行反转
    $binNum = strrev(decbin($getNum));
    $strlen = strlen($binNum);
    $str = "";
    for($i=0;$i<$strlen;$i++){
        if($binNum[$i]==1) $str .= $set[$i].",";
    }
    $str = rtrim($str,",");
    return $str;
}
echo getSet($getNum,$set);
运行结果如下:
上一篇 下一篇

猜你喜欢

热点阅读