
Untitled
By: a guest on
Jun 17th, 2012 | syntax:
None | size: 0.97 KB | hits: 14 | expires: Never
<?php
function convert_long($a)
{
$r = array();
$i = 0;
foreach($a AS $o)
{
if(is_int($o))
{
$r[$i] = $o;
$i++;
}
else
{
$ra = explode('-', $o);
$t = range($ra['0'], $ra['1']);
foreach ($t AS $s)
{
$r[$i] = $s;
$i++;
}
}
}
return $r;
}
function convert_short($a)
{
$r = array();
$t = array();
$i = 0;
$l = false;
foreach($a AS $o)
{
if($l!=false && $l+1==$o && (!isset($t['0']) || $t['0']=='+'))
{
$t['0'] = '+';
$t[] = $o;
}
else if($l!=false && $l-1==$o && (!isset($t['0']) || $t['0']=='-'))
{
$t['0'] = '-';
$t[] = $o;
}
else if($l!=false && isset($t['1']) && count($t)>3)
{
$r[$i-1] .= '-'.$l;
$t = array();
$r[$i] = $o;
$i++;
}
else if($l!=false && isset($t['1']))
{
$r[$i] = $l;
$i++;
$t = array();
$r[$i] = $o;
$i++;
}
else
{
$r[$i] = $o;
$i++;
}
$l = $o;
}
return $r;
}
?>