public static function encode($arr, $prefix = null)
{
if (!is_array($arr)) {
return $arr;
}
$r = array();
foreach ($arr as $k => $v) {
if (is_null($v)) {
continue;
}
if ($prefix && isset($k)) {
$k = $prefix . "[" . $k . "]";
} else {
if ($prefix) {
$k = $prefix . "[]";
}
}
if (is_array($v)) {
$r[] = self::encode($v, $k, true);
} else {
$r[] = urlencode($k) . "=" . urlencode($v);
}
}
return implode("&", $r);
}