- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
function get_root($root, $is = 0)
{
if (!preg_match('/^\d+$/',$root))
{
print '\$root isn\'t an integer.';
return false;
}
if (!preg_match('/^\d+$/',$is))
{
print '\$is isn\'t an integer.';
return false;
}
if ($root > 511 || $root < 0)
{
print '\$root > 255 or \$root < 0';
return false;
}
if ($root < $is) return false;
$t_arr = array ('256', '128', '64', '32', '16', '8', '4', '2', '1');
if (!in_array($is, $t_arr) && $is != 0)
{
print '\$is isn\'t in array.';
return false;
}
if ($root == 0) return array('0');
$t_int = $root;
$t_root = array();
while ($t_int > 0)
{
for ($i = 0; $i < sizeof($t_arr); $i++)
{
if ($t_int >= $t_arr[$i])
{
$t_int -= $t_arr[$i];
$t_root[] = $t_arr[$i];
}
}
}
if ($is != 0)
{ if (in_array($is, $t_root)) return true;
else return false;
}
else return $t_root;
}
Немного опешив, я наконец-то понял, что это еще один велосипед.
Spider 01.08.2010 18:04 # 0
забавно
Int 01.08.2010 21:10 # +2
Dalim 01.08.2010 22:09 # 0
побитовые операции не для этого кода)