public static function httpBuildMultiQuery($data, $key = null)
 {
     $query = array();
     if (empty($data)) {
         return $key . '=';
     }
     $isAssocArray = ArrayHelper::isAssociativeArray($data);
     foreach ($data as $k => $value) {
         if (is_string($value) || is_numeric($value)) {
             $brackets = $isAssocArray ? '[' . $k . ']' : '[]';
             $query[] = urlencode(is_null($key) ? $k : $key . $brackets) . '=' . rawurlencode($value);
         } elseif (is_array($value)) {
             $nested = is_null($key) ? $k : $key . '[' . $k . ']';
             $query[] = HttpHelper::httpBuildMultiQuery($value, $nested);
         }
     }
     return implode('&', $query);
 }