比方說,我有一個可以連接到客戶的以下標誌:二進制爲標誌
1 Hot
2 Urgent
4 Sensitive
8 Confidential
在我的表我會積極的客戶存儲爲6
一個int我想這樣做會節省我一個參考表,並加快查詢速度。
如何讓PHP解釋6,例如點亮客戶和活動圖標?
比方說,我有一個可以連接到客戶的以下標誌:二進制爲標誌
1 Hot
2 Urgent
4 Sensitive
8 Confidential
在我的表我會積極的客戶存儲爲6
一個int我想這樣做會節省我一個參考表,並加快查詢速度。
如何讓PHP解釋6,例如點亮客戶和活動圖標?
按位運算符將這樣的伎倆:
$flag = 6; // value from the database
$customer = 2; // constant value
$active = 4; // constant value
if ($flag & $customer)
{
print 'I am a customer.';
}
if($flag & $active)
{
print 'I am active.';
}
我雖與@GordonLinoff同意。真的考慮這是否是你想要的,因爲稍後改變並不容易,並且它可能允許意外情況。
所以問題出現時,一個人不能沒有另一個? – imperium2335
@ imperium2335是的,這是一個例子。還要考慮刪除一個分類的可能性;或者,添加一個新的記錄,並且應該是默認的所有現有記錄。另外,在你最初的例子中,潛在客戶和客戶真的不同只有一面旗幟?在這種情況下,表格不可能被標準化。我並不是說永遠不要使用按位標誌,但要仔細考慮是否合適。 – woz
不,這是一個不好的例子,實際上有一個狀態欄,前景或客戶。這些定義存儲在一個單獨的表中。 – imperium2335
有人可以真正活躍*沒有*作爲客戶?潛在客戶可以取消?潛在客戶可以是客戶?我認爲你需要更加認真地考慮旗幟和他們所代表的國家。 –
http://php.net/manual/en/language.operators.bitwise.php –
這些只是一些簡單的例子。我已經爲你更名了。現在非獨家,但我明白你的意思。 – imperium2335