Heim > Backend-Entwicklung > PHP-Tutorial > 根据mac范围批量添加mac

根据mac范围批量添加mac

WBOY
Freigeben: 2016-07-25 08:48:47
Original
1040 Leute haben es durchsucht
可以输入一个mac范围,批量添加mac比如输入11-22-33-44-[aa-ff]-55,1-2-3-34-4-4
将批量生产mac
  1. /**
  2. * 根据区间id转换为实际的多个id数组
  3. * @author 于燚
  4. * 2014年2月10日15:29:09
  5. */
  6. class BatchConvertDeviceId {
  7. public static function convert($str_str) {
  8. $str_str = str_replace(',', ',',$str_str);
  9. $arr_ids = explode(',', $str_str);
  10. $arr_re=array();
  11. foreach ($arr_ids as $str_str) {
  12. $arr_arr = preg_split("/\[([^\[\]]+)\]/", $str_str, null, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
  13. $int_count = count($arr_arr);
  14. $arr_data = array();
  15. if ($int_count == 1) {
  16. $arr_data = $arr_arr;
  17. } else {
  18. for ($i = 0; $i if ($i % 2 == 0) {
  19. $arr_data = self::batchLink($arr_data, array($arr_arr[$i]));
  20. } else {
  21. self::batchConvert($arr_data, $arr_arr[$i]);
  22. }
  23. }
  24. }
  25. $arr_re = array_merge($arr_re, $arr_data);
  26. }
  27. return $arr_re;
  28. }
  29. private static function batchConvert(&$arr, $str) {
  30. $arr_str = explode('-', $str);
  31. $int_start = base_convert($arr_str[0], 16, 10);
  32. $int_end = base_convert($arr_str[1], 16, 10);
  33. $int_min=$int_start $int_max=$int_start>$int_end?$int_start:$int_end;
  34. for ($int_min; $int_min $_arr_str[] = base_convert($int_min, 10, 16);
  35. }
  36. $arr = self::batchLink($arr, $_arr_str);
  37. }
  38. private static function batchLink($arr, $arr_str) {
  39. $arr_re = array();
  40. if (!empty($arr)) {
  41. foreach ($arr as $_v1) {
  42. foreach ($arr_str as $_v2) {
  43. $arr_re[] = $_v1 . $_v2;
  44. }
  45. }
  46. } else {
  47. $arr_re = $arr_str;
  48. }
  49. return $arr_re;
  50. }
  51. }
  52. //$str = "ab-cd-33-22-aa-[11-13]-[ab-ac]";
  53. //
  54. //$arr = BatchConvertDeviceId::convert($str);
  55. //echo '
    ';
    Nach dem Login kopieren
  56. //print_r($arr);
复制代码


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage