This time I will bring you a detailed explanation of the steps for using PHP to save user status in binary, and what are the precautions for PHP to use binary to save user status. The following is a practical case, let’s take a look. one time.
Preface
Saving user status is a very common requirement. The general way to save user status is to create multiple fields to store the corresponding user status. For example, if you want to save whether the user is bound to a mobile phone number and QQ, you need 2 fields (mobile, qq) to save. If you use binary to save the user's status, you only need one field (status) to save multiple user statuses. Of course, there are some disadvantages to using binary to save. For example, detailed information cannot be stored and can only be used to determine status, and the readability in the database is also relatively poor. Below is a relatively simple 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>";
Detailed explanation of the steps of implementing multiple linear regression simulation curve algorithm in PHP
How to operate PHP to record visitor browsing information
The above is the detailed content of Detailed explanation of steps to save user status using binary in PHP. For more information, please follow other related articles on the PHP Chinese website!