рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде PHP рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рдСрдкрд░реЗрд╢рди

PHP рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реИред рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ PHP рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреЛрдб рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрд┐рдЯ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рддреЗрдЬ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдлрд┐рд░ рднреА, рд▓реЗрдЦ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ, рддреНрд░реБрдЯрд┐ рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рддреБрд▓рдирд╛ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдРрд╕реЗ рд╡рд┐рдХрд▓реНрдк рдереЗ:
if ($error['type'] == E_ERROR || $error['type'] == E_PARSE || $error['type'] == E_COMPILE_ERROR){тАж}

if(in_array($error['type'], array(E_ERROR, E_PARSE,  E_COMPILE_ERROR)) {тАж}

.


() . , , ().
5 , 00000101.

6 :

$a & $b тАФ ( , $a $b)
$a | $b тАФ ( , $a $b)
$a ^ $b тАФ ( $a $b, )
~$a тАФ (, 1 0, )
$a << $b тАФ ( $a $b)
$a >> $b тАФ ( $a $b)


, .
: , , , . 4 , 4- , 1 тАФ , , 0 тАФ . .



:

define('U_READ', 1 << 0);   // 0001
define('U_CREATE', 1 << 1); // 0010
define('U_EDIT', 1 << 2);   // 0100
define('U_DELETE', 1 << 3); // 1000
define('U_ALL', U_READ | U_CREATE | U_EDIT | U_DELETE); // 1111


.
$user_perm =  U_READ; //   

.
$user_perm =  U_READ | U_DELETE; //    

.
$user_perm =  U_ALL; //  

, .
$user_perm =  U_ALL ^ U_DELETE;  //     
$user_perm =  U_ALL & ~ U_DELETE; //     ,    2 

, , 1, 0, . 0, .


, , .. . .
if($user_perm & U_READ) //    ?

,
if($user_perm & ( U_READ | U_DELETE )) //     / 


- ,
$user_perm &= ~ U_DELETE; //  


. , :
if($error['type'] & ( E_ERROR | E_PARSE | E_COMPILE_ERROR )) {тАж}


P.S.: , , PHP.
:
Wikipedia
PHP


Source: https://habr.com/ru/post/In134557/


All Articles