使用get_query_vars获取值数组

Say i have an URL "http://example.com/result/?q=test1&color=blue&color=black"

I would like to get an array of values

Resulting in q = test1;and color=[blue, black]

I included my vars in functions.php

function add_query_vars_filter( $vars ){
    array_push($vars,"q","color");
    return $vars;
}
add_filter( 'query_vars', 'add_query_vars_filter' );

But when i use get_query_vars i get only single value and not an array.

Is it even possible to get an array of values?

You need to call your URL with array syntax for parameters that are specified more than once. Note the square brackets:

http://example.com/result/?q=test1&color[]=blue&color[]=black

This yields:

Array
(
    [q] => test1
    [color] => Array
        (
            [0] => blue
            [1] => black
        )

)