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
Post a Comment