titanscssc::sortArgs PHP Method

sortArgs() protected method

TODO: merge with apply arguments
protected sortArgs ( $prototype, $args )
    protected function sortArgs($prototype, $args)
    {
        $keyArgs = array();
        $posArgs = array();
        foreach ($args as $arg) {
            list($key, $value) = $arg;
            $key = $key[1];
            if (empty($key)) {
                $posArgs[] = $value;
            } else {
                $keyArgs[$key] = $value;
            }
        }
        if (is_null($prototype)) {
            return $posArgs;
        }
        $finalArgs = array();
        foreach ($prototype as $i => $names) {
            if (isset($posArgs[$i])) {
                $finalArgs[] = $posArgs[$i];
                continue;
            }
            $set = false;
            foreach ((array) $names as $name) {
                if (isset($keyArgs[$name])) {
                    $finalArgs[] = $keyArgs[$name];
                    $set = true;
                    break;
                }
            }
            if (!$set) {
                $finalArgs[] = null;
            }
        }
        return $finalArgs;
    }
titanscssc