- chr: documentation ( source)
- is_numeric: documentation ( source)
- print_r: documentation ( source)
- implode: documentation ( source)
- explode: documentation ( source)
- str_split: documentation ( source)
- ord: documentation ( source)
<?php
$chanstring = "\x01-07 / %x08-09 / %x0B-0C / %x0E-1F / %x21-2B / %x2D-39 / %x3B-FF";
function arrFromString($string) {
$explosion = explode('-',$string);
$lower = str_split($explosion[0]);
$upper = str_split($explosion[1]);
$arr = array();
$curr = $lower;
while (implode('',$curr) != implode('',$upper)) {
$arr[] = implode('',$curr);
if (is_numeric($curr[1])) {
$curr[1]++;
if ($curr[1] > 9) {
$curr[1] = 'A';
}
} else {
$curr[1] = chr(ord($curr[1]) + 1);
if ($curr[1] === 'G') {
$curr[1] = 0;
if (is_numeric($curr[0])) {
$curr[0]++;
if ($curr[0] > 9) {
$curr[0] = 'A';
}
} else {
$curr[1] = chr(ord($curr[1]) + 1);
}
}
}
}
$arr[] = implode('',$curr);
return $arr;
}
print_r(arrFromString('0E-1F'));