function encode($decode)
 {
     $result = '';
     switch (gettype($decode)) {
         case 'array':
             if (!count($decode) || array_keys($decode) === range(0, count($decode) - 1)) {
                 $keys = array();
                 foreach ($decode as $value) {
                     if (($value = DB_Mysql::encode($value)) !== '') {
                         array_push($keys, $value);
                     }
                 }
                 $result = '[' . implode(',', $keys) . ']';
             } else {
                 $result = DB_Mysql::convert($decode);
             }
             break;
         case 'string':
             $replacement = DB_Mysql::__getStaticReplacement();
             $result = '"' . str_replace($replacement['find'], $replacement['replace'], $decode) . '"';
             break;
         default:
             if (!is_callable($decode)) {
                 $result = DB_Mysql::convert($decode);
             }
             break;
     }
     return $result;
 }