2015年2月9日 星期一

[php]二進位唯一表示法

一般用於checkbox,多筆資料存入同一欄位

("蘋果":"1")
("梨子":"2")
("檸檬":"4")
("西瓜":"8")
("草莓":"16")
("橘子":"32")

選擇"西瓜","草莓","梨子"儲存值為:8 + 16 + 2 = 26


取出時:
$i = 26;
while ($i >= 1) {
    echo pow(2,floor(log($i,2)));
    $i -= pow(2,floor(log($i,2)));
}

沒有留言:

張貼留言