$val) { if (!is_int($key)) { $assoc = true; break; } } if ($assoc) { ksort($var, SORT_REGULAR); $ret = 'd'; foreach ($var as $key => $val) { $ret .= bencode($key) . bencode($val); } return $ret .'e'; } else { $ret = 'l'; foreach ($var as $val) { $ret .= bencode($val); } return $ret .'e'; } } } else { do_error('bencode wrong data type'); } } /* function bdecode($enc) { if ($endPos = strpos($enc, 'e') == false) { // string } if (!$endPos) { return null; } $type = substr($enc, 1, 1); $data = substr($enc, 1, $endPos - 1); switch ($type) { case 'i': return intval($data); } } */ ?>