簡體   English   中英

PHP整數配置(例如1 = apache,2 = php,3 = apache + php)

[英]PHP Integer Configuration (e.g. 1=apache,2=php,3=apache+php)

如何使用PHP解析一個配置值,該配置值是一個數字和其他數字的總數。

這樣的一個例子是:

1->啟用日志記錄
2->啟用錯誤報告
4->啟用電子郵件報告

3->記錄+已啟用錯誤
5->啟用日志記錄+電子郵件

您不僅有一筆總和,還擁有一組標志或位字段,每個標志都用一位表示。

$logging     = !!($cfgval & 1);
$errorReport = !!($cfgval & 2);
$emailReport = !!($cfgval & 4);

“!” 只是確保不為0的數字(即設置了特定位的數字)最終具有與其他PHP使用的相同的“ true”值,因此($logging == true)類的東西始終可以按預期工作。 這不是必需的,但我強烈建議您以某種方式將值轉換為布爾值; (bool)也可以正常工作,即使它是字符的3倍也是如此。 :)

只要您將數字保持為2(1、2、4、8、16、32 ...)的冪,就很容易將此數字擴展到31-32個不同的標志(整數的大小為32位,但是最高位是一個符號位,如果您不知道“二進制補碼”數學,它的作用就很有趣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM