示例#1
0
 static function prepare($arr)
 {
     if (!is_array($arr)) {
         if (is_string($arr)) {
             $arr = array($arr);
         } else {
             die('Error must be string or Array');
         }
     }
     $res = array();
     foreach ($arr as $i => $val) {
         if (!is_string($i) && !is_string($val)) {
             die('Error must be string');
         }
         if (is_numeric($i)) {
             //("value")
             $val = hq::fromEncoding($val);
             hq::checkKey($val);
             $ta = hq::fullGen($val);
             //print_r($ta);
             foreach ($ta as $str => $data) {
                 foreach ($data as $key) {
                     $res[hq::toLower($key)] = hq::dropMinusAndVskl(HQ::toEncoding($str));
                 }
             }
         } else {
             //"key"=>"value"
             $i = hq::fromEncoding($i);
             hq::checkKey($i);
             $ta = hq::fullGen($i);
             //print_r($ta);
             foreach ($ta as $str => $data) {
                 foreach ($data as $key) {
                     $res[hq::toLower($key)] = $val;
                 }
             }
         }
     }
     return $res;
 }