ホームページ  >  記事  >  バックエンド開発  >  PHP におけるビット単位の演算 (ビット単位の AND、ビット単位の OR) のさまざまな使用法

PHP におけるビット単位の演算 (ビット単位の AND、ビット単位の OR) のさまざまな使用法

WBOY
WBOYオリジナル
2016-07-25 09:12:121229ブラウズ
PHP の開発プロセスにおけるビットごとの AND とビットごとの OR の役割は何ですか?
  1. /**
  2. * 1. 権限の適用
  3. * 所有している権限について、これらの権限に対応する値を合計します
  4. * 例: モデレーターが権限 (追加、削除、変更、クエリ) を持っている場合、モデレーターの権限の値は次のようになります。 15 (8 +4+2+1) として保存されます
  5. * 次に、[許可値の合計] と [実際の許可値] [配置された] を比較します
  6. * 結果が true の場合、許可を持っています
  7. * 結果が false の場合、権限がありません
  8. *
  9. * 注: 権限 値は 0 乗から始まる 2 の N 乗でなければなりません。31 乗は 2147483648 です
  10. * 32 乗は 4294967296 で、一般的な int (10) の最大値を超えています。 4294967295 のストレージなので、アクセス許可の数 ( * もちろん、ストレージ形式が bitint または varchar であり、より長い数値を格納できる場合、アクセス許可の数は増加し続ける可能性があります
  11. */
  12. $permission = 15; //1+2+4+8 にはすべての権限があります
  13. $permissions = array(
  14. 8 => '追加',
  15. 4 => '削除',
  16. 2 => '変更',
  17. 1 => 'クエリ'
  18. );
  19. foreach ($permissions as $key => $val) {
  20. if($key & $permission) {
  21. echo '私には ' の力があります '
    ';
  22. }
  23. }
コードをコピーします
  1. 追加を待っています
コードをコピー


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。