Home  >  Article  >  Backend Development  >  PHP Examples of using binary to save user status php tips

PHP Examples of using binary to save user status php tips

jacklove
jackloveOriginal
2018-06-28 17:50:461424browse

The editor below will share with you an example of PHP using binary to save user status. It has a good reference value and I hope it will be helpful to everyone. Let’s follow the editor and take a look.

Preface

Saving user status is a very common requirement and is generally used to save user status. The method is to create multiple fields in the database table 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(&#39;MOBILE&#39;, 1); //手机号绑定
define(&#39;EMAIL&#39;, 2);  //邮箱绑定
define(&#39;WECHAT&#39;, 4); //微信绑定
define(&#39;QQ&#39;, 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>";

The above example of PHP using binary to save user status is The editor has shared all the content with you. I hope it can give you a reference. I also hope that everyone will support the php Chinese website.

Articles you may be interested in:

PHP Redis message queue implements registrant statistics under high concurrency PHP example

laravel ORM Only several methods of opening created_at summarize php examples

PHP record visitor's browsing information method php examples

The above is the detailed content of PHP Examples of using binary to save user status php tips. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn