场景:蓝牙硬件返回指令 低八位 补位
function getSignalSum($signal){
//获取指数据
//$signal = '55aa0502010001010100000000005f';
//去头 尾部 规则 从第6位向前取20位
$signal = substr($signal,4,22);
//获取设备类型 前2位
$jinz = array();
//2位循环
for($i=0;$i<strlen($signal);$i=$i+2){
$jinz[] = substr($signal,$i,2);
}
//求和
$sumval = 0;
foreach($jinz as $v){
$sumval = $sumval+hexdec($v);
}
//sumval 是10进制的和,转成16进制
$sumval = base_convert($sumval,10,16);
//取后面两位
$va = substr($sumval,-2); // = 27
//取低八位
return $va&0xff;
}