Ik probeer met php wat bitjes te checken in verband met userlevels nu heb ik iets waar ik niet uitkom.
De volgende code:
Dit geeft als resultaat:
userlevel: 511
can_view_devices: 4
userlevel & can_view_devices: 4
511 & can_view_devices: 4
userlevel & 4: 4
Dit verwacht ik ook. Het vreemde komt nu met onderstaande:
Het resultaat hiervan is:
userlevel: 511
can_view_tools: 2
userlevel & can_view_tools: 0
511 & can_view_tools: 2
userlevel & 2: 2
Waarom is userlevel & can_view_tools: 0 en geen 2 zoals ik zou verwachten? En waarom gaat dit met 4 wel goed?
De volgende code:
PHP:
1
2
3
4
5
| echo "userlevel: ".$userlevel."<br />"; echo "can_view_devices: ".$levels['can_view_devices']."<br />"; echo "userlevel & can_view_devices: ".(($userlevel) & ($levels['can_view_devices']))."<br />"; echo "511 & can_view_devices: ".((511) & ($levels['can_view_devices']))."<br />"; echo "userlevel & 4: ".(($userlevel) & (4))."<br />"; |
Dit geeft als resultaat:
userlevel: 511
can_view_devices: 4
userlevel & can_view_devices: 4
511 & can_view_devices: 4
userlevel & 4: 4
Dit verwacht ik ook. Het vreemde komt nu met onderstaande:
PHP:
1
2
3
4
5
| echo "userlevel: ".$userlevel."<br />"; echo "can_view_tools: ".$levels['can_view_tools']."<br />"; echo "userlevel & can_view_tools: ".(($userlevel) & ($levels['can_view_tools']))."<br />"; echo "511 & can_view_tools: ".((511) & ($levels['can_view_tools']))."<br />"; echo "userlevel & 2: ".(($userlevel) & (2))."<br />"; |
Het resultaat hiervan is:
userlevel: 511
can_view_tools: 2
userlevel & can_view_tools: 0
511 & can_view_tools: 2
userlevel & 2: 2
Waarom is userlevel & can_view_tools: 0 en geen 2 zoals ik zou verwachten? En waarom gaat dit met 4 wel goed?