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; }