Das Speichern des Benutzerstatus ist eine sehr häufige Anforderung, um den Benutzerstatus zu speichern, indem in der Datenbanktabelle mehrere Felder erstellt werden, um beispielsweise zu speichern, ob der Benutzer eine Mobiltelefonnummer gebunden hat QQ, Sie benötigen 2 Felder (mobile, qq) zum Speichern. Dieser Artikel enthält hauptsächlich ein Beispiel für die Verwendung von PHP zum Speichern des Benutzerstatus. Es hat einen guten Referenzwert und ich hoffe, dass es für alle hilfreich ist. Folgen wir dem Herausgeber und schauen wir uns das an. Ich hoffe, es kann allen helfen.
Wenn Sie den Benutzerstatus binär speichern, benötigen Sie nur 1 Feld (Status), um mehrere Benutzerstatus zu speichern.
Natürlich hat die Verwendung von Binärdateien zum Speichern einige Nachteile, z. B. kann sie keine detaillierten Informationen speichern und kann nur zur Statusbeurteilung verwendet werden, und auch die Lesbarkeit in der Datenbank ist relativ schlecht. Unten finden Sie eine relativ einfache Demo.
Code
<?php /** * 使用二进制来保存用户状态 */ //首先定义4个用户状态 define('MOBILE', 1); //手机号绑定 define('EMAIL', 2); //邮箱绑定 define('WECHAT', 4); //微信绑定 define('QQ', 8); //QQ绑定 //模拟用户类 class User { public $user_name = ""; public $status = 0; //用来保存用户状态 function __construct($user_name, $status) { $this->user_name = $user_name; $this->status = $status; } } //new一个测试用户 $test_user = new User("test_user", 0); //先判断用户是否绑定了手机号 if (($test_user->status & MOBILE) == MOBILE) echo "first:该用户已经绑定手机号,用户状态是:" . $test_user->status . "</br>"; else echo "first:该用户没有绑定手机号,用户状态是:" . $test_user->status . "</br>"; //接着该用户去绑定了手机号 微信 和 QQ $test_user->status = MOBILE | WECHAT | QQ; //再判断一下用户是否绑定了手机号 if (($test_user->status & MOBILE) == MOBILE) echo "second:该用户已经绑定手机号,用户状态是:" . $test_user->status . "</br>"; else echo "second:该用户没有绑定手机号,用户状态是:" . $test_user->status . "</br>"; //再判断一下用户有没有绑定邮箱 if (($test_user->status & EMAIL) == EMAIL) echo "third:该用户已经绑定邮箱,用户状态是:" . $test_user->status . "</br>"; else echo "third:该用户没有绑定邮箱,用户状态是:" . $test_user->status . "</br>"; //然后这个用户解除了手机号绑定 $test_user->status = ($test_user->status & (~MOBILE)); //再次判断用户是否绑定了手机号 if (($test_user->status & MOBILE) == MOBILE) echo "fourth:该用户已经绑定手机号,用户状态是:" . $test_user->status . "</br>"; else echo "fourth:该用户没有绑定手机号,用户状态是:" . $test_user->status . "</br>";
Verwandte Empfehlungen:
Wie verarbeitet PHP Binärdaten?
Das obige ist der detaillierte Inhalt vonWie PHP den Benutzerstatus mithilfe der Binärdatei speichert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!