operator operadores operador logicos logico expresiones control comparacion asignacion aritmeticos php bit-manipulation

operadores - php operador logico or



¿Operaciones bitwise en PHP? (2)

Las operaciones bitwise son extremadamente útiles en la información de credenciales. Por ejemplo:

function is_moderator($credentials) { return $credentials & 4; } function is_admin($credentials) { return $credentials & 8; }

y así...

De esta manera, podemos mantener un entero simple en una columna de la base de datos para tener todas las credenciales en el sistema.

Entiendo que las operaciones a nivel de bits son necesarias para una gran parte de la programación de bajo nivel, como escribir controladores de dispositivo, gráficos de bajo nivel, ensamblaje de paquetes de protocolo de comunicaciones y decodificación. He estado haciendo PHP desde hace varios años, y he visto operaciones bitwise muy raramente en proyectos PHP.

¿Puedes darme ejemplos de uso?


Podrías usarlo para las máscaras de bits para codificar combinaciones de cosas. Básicamente, funciona al darle un significado a cada bit, por lo que si tiene 00000000 , cada bit representa algo, además de ser un solo número decimal. Digamos que tengo algunas preferencias para los usuarios que quiero almacenar, pero mi base de datos es muy limitada en términos de almacenamiento. Simplemente podría almacenar el número decimal y derivar de esto, qué preferencias se seleccionan, por ejemplo, 9 es 2^3 + 2^0 es 00001001 , por lo que el usuario tiene la preferencia 1 y la preferencia 4.

00000000 Meaning Bin Dec | Examples │││││││└ Preference 1 2^0 1 | Pref 1+2 is Dec 3 is 00000011 ││││││└─ Preference 2 2^1 2 | Pref 1+8 is Dec 129 is 10000001 │││││└── Preference 3 2^2 4 | Pref 3,4+6 is Dec 44 is 00101100 ││││└─── Preference 4 2^3 8 | all Prefs is Dec 255 is 11111111 │││└──── Preference 5 2^4 16 | ││└───── Preference 6 2^5 32 | etc ... │└────── Preference 7 2^6 64 | └─────── Preference 8 2^7 128 |

Otras lecturas