需求:根据一个MAC地址生成新的MAC地址(把MAC地址+1),PHP代码实现
function genMac($mac='DC4F22529F11'){
$macLen=strlen($mac);
$macArr=str_split($mac);
$index=$macLen-1;
$valueNowHex=$macArr[$index];
$valueNow=hexdec($valueNowHex);
$nextValue=$valueNow+1;
function carry($macArr,$index){
$macArr[$index]=0;
$index--;
if($index<0) return $macArr;
$nextValue=hexdec($macArr[$index])+1;
if($nextValue>=16){
//进位
$macArr = carry($macArr,$index);
}else{
$macArr[$index]=dechex($nextValue);
}
return $macArr;
}
if($nextValue>=16){
$macArr = carry($macArr,$index);
}else{
$nextValue=hexdec($macArr[$index])+1;
$macArr[$index]=dechex($nextValue);
}
return strtoupper(implode('',$macArr));
}
$