本文整理汇总了PHP中BitWasp\Buffertools\Buffer::flip方法的典型用法代码示例。如果您正苦于以下问题:PHP Buffer::flip方法的具体用法?PHP Buffer::flip怎么用?PHP Buffer::flip使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BitWasp\Buffertools\Buffer
的用法示例。
在下文中一共展示了Buffer::flip方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: parseBuffer
/**
* @param Buffer $buffer
* @return int
*/
private function parseBuffer(Buffer $buffer)
{
$size = $buffer->getSize();
if ($size === 0) {
return '0';
}
$chars = array_map(function ($binary) {
return ord($binary);
}, str_split($buffer->flip()->getBinary(), 1));
$result = 0;
for ($i = 0; $i < $size; $i++) {
$mul = $this->math->mul($i, 8);
$byte = $this->math->leftShift($chars[$i], $mul);
$result = $this->math->bitwiseOr($result, $byte);
}
if ($chars[0] & 0x80) {
$mask = gmp_strval(gmp_com($this->math->leftShift(0x80, 8 * ($size - 1))), 10);
return $this->math->sub(0, $this->math->bitwiseAnd($result, $mask));
}
return $result;
}