美文网首页
mysql中set多选项类型的数据解析原理

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

作者: 老衲灬 | 来源:发表于2018-07-28 20:01 被阅读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);
    
    运行结果如下:

    相关文章

      网友评论

          本文标题:mysql中set多选项类型的数据解析原理

          本文链接:https://www.haomeiwen.com/subject/cchamftx.html