Así es, tu explicación es lógica y se entendió desde el inicio, pero no había lógica en tu forma de hacerlo, pues no respeta la sintaxis misma de los operadores.
Es decir, para que lo siguiente sea posible:
Cita: If $variable es = a 'admin' o 'editor' -> acción
Debería ser así:
Eso es bastante claro a comparación de lo que hacías inicialmente, que sea lógico no significa que debas hacerlo así.
Es decir, tu "seudo lógica" está bien para explicar tu problema, pero no está bien para expresar con programación el mismo.
No es igual pensarlo que plasmarlo.