Enregistrer le statut de l'utilisateur est une exigence très courante. La manière générale d'enregistrer le statut de l'utilisateur consiste à créer plusieurs champs dans la table de base de données pour stocker le statut de l'utilisateur correspondant, par exemple, pour enregistrer si l'utilisateur a lié un numéro de téléphone mobile et. QQ, vous avez besoin de 2 champs (mobile, qq) pour enregistrer. Cet article partage principalement un exemple de PHP utilisant le binaire pour enregistrer le statut de l'utilisateur. Il a une bonne valeur de référence et j'espère qu'il sera utile à tout le monde. Suivons l'éditeur pour y jeter un œil, j'espère que cela pourra aider tout le monde.
Si vous utilisez le binaire pour enregistrer le statut de l'utilisateur, vous n'avez besoin que d'un seul champ (statut) pour enregistrer plusieurs statuts d'utilisateur.
Bien sûr, l'utilisation du binaire pour sauvegarder présente certains inconvénients, par exemple, il ne peut pas stocker d'informations détaillées et ne peut être utilisé que pour juger de l'état, et la lisibilité de la base de données est également relativement mauvaise. Vous trouverez ci-dessous une démo relativement simple.
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>";
Recommandations associées :
Comment PHP traite-t-il les données binaires ?
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!