php - Creating new array from 2 existing arrays - one of them is the key other value -


my "main" array looks - var_dump($main)

[zlec_addresoperator] => , [filtervalue0] => test [filtercondition0] => contains [filteroperator0] => 1 [filterdatafield0] => zlec_addres [zlec_nroperator] => , [filtervalue1] => secondval [filtercondition1] => contains [filteroperator1] => 1 [filterdatafield1] => zlec_nr 

i want build new array

array( filterdatafield0 = > filtervalue0 , filterdatafield1 = > filtervalue1) 

etc

first of decided filter out wan't following codes. creating new arrays keep data wan't, $arraykeys contain filterdatafield.{1,2} values. in case zlec_addres , zlec_nr. second $arrayvalue keep filtervalue.{1,2} value filter.

$newarray = array(); $arraykeys = array(); $arrayvalue = array();  foreach($_get $key => $value):   if(preg_match("/^filterdatafield.{1,2}$/",$key)>0) {         // $key matched regex         $arrayvalue[] = $value;     }       if(preg_match("/^filtervalue.{1,2}$/",$key)>0) {         // $key matched regex         $arraykeys[] = $key;     } endforeach; foreach($arraykeys $a){     $newarray[$a] = $arrayvalue; } 

so desired output be

array( zlec_addres => 'test', zlec_nr = 'secondval' ) 

now

array(12) {   ["filtervalue0"]=>   array(12) {     [0]=>     string(11) "zlec_addres"     [1]=>     string(7) "zlec_nr" ...   }   ["filtervalue1"]=>   array(12) {     [0]=>     string(11) "zlec_addres"     [1]=>     string(7) "zlec_nr" ...   } 

    $newarray = array();     $arraykeys = array();     $arrayvalue = array();      foreach($_get $key => $value){       if(preg_match("/^filterdatafield.{1,2}$/",$key)>0) {             // $key matched regex             $arraykeys[] = $value;         }           if(preg_match("/^filtervalue.{1,2}$/",$key)>0) {             // $key matched regex             $arrayvalues[] = $value;         }     } $newarray = array_combine($arraykeys, $arrayvalues); 

Comments