Участник
- Сообщения
- 2,491
- Реакции
- 2,795
- Помог
- 61 раз(а)
Работает во всех версиях PHP
Примеры использования
PHP:
function readFlags($flags) {
$result = 0;
for ($i = 0, $l = strlen($flags); $i < $l; $i++) {
$f = ord($flags[$i]);
if ($f >= 97 && $f <= 122) {
$result |= (1 << ($f - 97));
}
}
return $result;
}
function getFlags($flags) {
$result = '';
for ($i = 0; $i <= 32; $i++) {
if ( ($flags & ( 1 << $i ) ) > 0 ) {
$result .= chr($i + 97);
}
}
return $result;
}
Примеры использования
PHP:
var_dump(readFlags('abcd')); // 15
var_dump(getFlags(15)); // abcd