PHP におけるビット単位の演算 (ビット単位の AND、ビット単位の OR) のさまざまな使用法
リリース: 2016-07-25 09:12:12
PHP の開発プロセスにおけるビットごとの AND とビットごとの OR の役割は何ですか?
- /**
- * 1. 権限の適用
- * 所有している権限について、これらの権限に対応する値を合計します
- * 例: モデレーターが権限 (追加、削除、変更、クエリ) を持っている場合、モデレーターの権限の値は次のようになります。 15 (8 +4+2+1) として保存されます
- * 次に、[許可値の合計] と [実際の許可値] [配置された] を比較します
- * 結果が true の場合、許可を持っています
- * 結果が false の場合、権限がありません
- *
- * 注: 権限 値は 0 乗から始まる 2 の N 乗でなければなりません。31 乗は 2147483648 です
- * 32 乗は 4294967296 で、一般的な int (10) の最大値を超えています。 4294967295 のストレージなので、アクセス許可の数 ( * もちろん、ストレージ形式が bitint または varchar であり、より長い数値を格納できる場合、アクセス許可の数は増加し続ける可能性があります
- */
- $permission = 15; //1+2+4+8 にはすべての権限があります
- $permissions = array(
- 8 => '追加',
- 4 => '削除',
- 2 => '変更',
- 1 => 'クエリ'
- );
- foreach ($permissions as $key => $val) {
- if($key & $permission) {
- echo '私には ' の力があります '
';
- }
- }
コードをコピーします
|
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31