What is the best way to code an array that has same keys as another array's values I have two arrays as follows:

public $headers = [
    'user_id',
    'timestamp',
    'value',
];

protected $args = array('user_id' =&gt; array('filter' =&gt; FILTER_VALIDATE_REGEXP,
                                                      'options' =&gt; array('regexp' =&gt; '/^[a-zA-Z0-9_]*$/'), ),
                        'timestamp' =&gt; array('filter' =&gt; FILTER_CALLBACK,
                                             'options' =&gt; "validateDate", ), ),
                        'value' =&gt; FILTER_VALIDATE_FLOAT, );


The keys in the array args are the same values of the array headers.
How to avoid repeating the values here ?
Here is the answer:

I delete the keys from the args array, and I create a new array from combining both headers and args: 

$argsVal = [ array('filter' =&gt; FILTER_VALIDATE_REGEXP,'options' =&gt; array('regexp' =&gt; '/^[a-zA-Z0-9_:.()\/]*$/'), ),
               array('filter' =&gt; FILTER_CALLBACK,'options' =&gt; "validateDate", ), FILTER_VALIDATE_FLOAT, ];

$args = array_combine($headers,$argsVal);